import javax.media.j3d.*; // Canvas3D etc import java.applet.Applet; // Applet import java.awt.BorderLayout; // BorderLayout, Frame import com.sun.j3d.utils.applet.MainFrame; // MainFrame import com.sun.j3d.utils.universe.*; import java.awt.Frame; import com.sun.j3d.utils.geometry.ColorCube; import javax.vecmath.*; // Canvas3D etc public class Prog2 extends Applet { public Prog2() { setLayout ( new BorderLayout() ); Canvas3D c = new Canvas3D ( null ); add ( "Center", c ); BranchGroup scene = createSceneGraph(); SimpleUniverse u = new SimpleUniverse ( c ); //u.getViewingPlatform().setNominalViewingTransform(); // Assign this value to the ViewPlatform transform. double viewDistance = 5.5; Transform3D t3d = new Transform3D(); t3d.set(new Vector3d(0.0, 0.0, viewDistance)); u.getViewingPlatform().getViewPlatformTransform().setTransform(t3d); u.addBranchGraph ( scene ); } public BranchGroup createSceneGraph() { BranchGroup objRoot = new BranchGroup(); Transform3D spin = new Transform3D(); Transform3D tempspin = new Transform3D(); spin.rotX ( Math.PI/4.0 ); tempspin.rotY ( Math.PI/5.0 ); spin.mul ( tempspin ); TransformGroup objTrans = new TransformGroup ( spin ); objRoot.addChild ( objTrans ); ColorTetra x = new ColorTetra(); objTrans.addChild ( x ); return objRoot; } public static void main ( String[] args ) { Frame frame = new MainFrame ( new Prog2(), 256, 256 ); } }