程序实例1:example01.java(构建场景)
AWT图形界面设计工具包类的继承关系
SimpleUniverse的功能和作用(com.sun.j3d.utils.universe.*)
程序实例2:example02.java(场景物体位置变换)
publicBranchGroupcreateSceneGraph(){//CreatetherootofthebranchgraphBranchGroupobjRoot=newBranchGroup();//rotateobjecthascompositedtransformationmatrixTransform3Drotate=newTransform3D();Transform3DtempRotate=newTransform3D();
TrasformGroupALLOW_TRANSFORM_READALLOW_TRANSFORM_WRITE
TransformGroup()TransformGroup(Transform3Dt1)
setTransform(Transform3Dt1)getTransform(Transform3Dt1)……
Trasform3D
rotate.rotX(Math.PI/4.0d);tempRotate.rotY(Math.PI/5.0d);rotate.mul(tempRotate);TransformGroupobjRotate=newTransformGroup(rotate);objRoot.addChild(objRotate);objRotate.addChild(newColorCube(0.4));//LetJava3Dperformoptimizationsonthisscenegraph.objRoot.compile();returnobjRoot;}//endofCreateSceneGraphmethodofHelloJava3Db
……rotX(doublearc)rotY(doublearc)rotZ(doublearc)Set(Vector3ftranslate)setTranslation(Vector3ftrans)setScale(doublescale)……
objRoot(BG)
objRoot(BG)
objRotate(TG)
tempRotate(T3D)
rotate(T3D)
ColorCube(S3D)
程序实例3:example03.java(交互控制-鼠标)
publicBranchGroupcreateSceneGraph(){//CreatetherootofthebranchgraphBranchGroupobjRoot=newBranchGroup();TransformGroupobjTransform=newTransformGroup();objTransform.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);objTransform.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);objRoot.addChild(objTransform);objTransform.addChild(newColorCube(0.4));MouseRotatemyMouseRotate=newMouseRotate();//LMBmyMouseRotate.setTransformGroup(objTransform);myMouseRotate.setSchedulingBounds(newBoundingSphere());objRoot.addChild(myMouseRotate);MouseTranslatemyMouseTranslate=newMouseTranslate();//RMBmyMouseTranslate.setTransformGroup(objTransform);myMouseTranslate.setSchedulingBounds(newBoundingSphere());objRoot.addChild(myMouseTranslate);MouseZoommyMouseZoom=newMouseZoom();//MMBmyMouseZoom.setTransformGroup(objTransform);myMouseZoom.setSchedulingBounds(newBoundingSphere());objRoot.addChild(myMouseZoom);//LetJava3Dperformoptimizationsonthisscenegraph.o