simbad基本用法-1

本文介绍了如何配置Java3D环境,包括安装jdk和java3d,并解决在运行过程中遇到的错误,如32位与64位不匹配问题。通过创建并运行UglyCube示例验证环境配置成功。最后,简述了如何启动Simbad并给出官方指南链接,以及创建机器人所需的Java编译和运行步骤。

下载simbad,然后需要安装jdkjava3d环境。

安装java3d时,需要安装以下exe并且把binlib拷到jdkjre路径里。具体过程网上有,很简单。

计算机生成了可选文字:i3d一1--5一windows一i586.exeiava3d一1--3一windows一1586一opengl一rt·exeiava3d一1-3一window,一1586一opengl一sdk.exe一目黝目

然后跑一遍

importjava.applet.Applet;

importjava.awt.BorderLayout;

importcom.sun.j3d.utils.applet.MainFrame;

importcom.sun.j3d.utils.geometry.*;

importcom.sun.j3d.utils.universe.*;

importjavax.media.j3d.*;

importjavax.vecmath.*;

importcom.sun.j3d.utils.behaviors.mouse.MouseRotate;

importcom.sun.j3d.utils.behaviors.mouse.MouseZoom;

importcom.sun.j3d.utils.behaviors.mouse.MouseTranslate;

public classUglyCube extends Applet

{

privateSimpleUniverse universe ;

public UglyCube()

{}   

public void init()

{     

     //canvas to draw on, ask SimpleUniversewhat config to use    

     Canvas3D canvas = newCanvas3D(SimpleUniverse.getPreferredConfiguration());     

     setLayout(new BorderLayout());     

     add("Center", canvas);          

     //create top of our scene graph     

     BranchGroup scene = newBranchGroup();              

     //create universe, and attach our geometryto it.     

     SimpleUniverse u = newSimpleUniverse(canvas);     

    u.getViewingPlatform().setNominalViewingTransform();             

     // Create the bounding leaf node

     BoundingSphere bounds = newBoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);

     // Create the transform node

     TransformGroup transformGroup = newTransformGroup();

    transformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);

    transformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);

     // Create the drag behavior node

     MouseRotate behavior = new MouseRotate();

    behavior.setTransformGroup(transformGroup);

     transformGroup.addChild(behavior);

     behavior.setSchedulingBounds(bounds);

     // Create the zoom behavior node

     MouseZoom behavior2 = new MouseZoom();

    behavior2.setTransformGroup(transformGroup);

     transformGroup.addChild(behavior2);

     behavior2.setSchedulingBounds(bounds);

     // Create the zoom behavior node

     MouseTranslate behavior3 = newMouseTranslate();

    behavior3.setTransformGroup(transformGroup);

     transformGroup.addChild(behavior3);

     behavior3.setSchedulingBounds(bounds);

     transformGroup.addChild(newColorCube(0.4));

 

     scene.addChild(transformGroup);   

     u.addBranchGraph(scene);

}   

 

// The followingallows UglyCube to be run as an application   

// as well as anapplet   

public static voidmain(String[] args)

{       

     new MainFrame(new UglyCube(), 256,256);  

}

}

 

发现报错,没有javax.media.j3d包。需要在oracle官网上下载下载java媒体框架并安装

计算机生成了可选文字:奋jmf一2一e一wind。w,一iss6.exe

 

再跑,又报错。Can't load IA 32-bit .dll on a AMD 64-bit platform。一开始百度查的都说是tomcat的问题,我也没用到tomcat,仔细看了半天发现是一个dll的问题。需要用64位而不是32位的j3dcore-ogl.dll

下载好之后,把这个dll放到之前jdkjre路径的bin里替换。然后终于能跑通上面的uglycube

注意,编译是javacuglycube.java,运行是java uglycube,不要加.class

 

跑通证明java3d已经安装好,这时候用命令行打开simbadjava-jar simbad-1.4.jar就可以打开了,里面有很多自带样例

 

官方说明见http://simbad.sourceforge.net/guide.php#controller

 

关于创建机器人,官方给了代码,要创建三个.java文件,在编译的时候用javac -classpath simbad-1.4.jar *.java

在运行的时候用java-classpath simbad-1.4.jar;. MyProg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值