import javax.media.j3d.*; // Canvas3D etc import java.applet.Applet; import java.awt.Frame; import java.awt.BorderLayout; import com.sun.j3d.utils.applet.MainFrame; import com.sun.j3d.utils.universe.*; import com.sun.j3d.utils.geometry.ColorCube; public class Prog1 extends Applet { public Prog1() { setLayout ( new BorderLayout() ); Canvas3D c = new Canvas3D ( null ); add ( "Center", c ); BranchGroup scene = createSceneGraph(); SimpleUniverse u = new SimpleUniverse ( c ); // [move the ViewPlatform back a bit] u.getViewingPlatform().setNominalViewingTransform(); u.addBranchGraph ( scene ); // We are "live" } 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 ); //ColorCube x = new ColorCube();// needs to be smaller ColorCube x = new ColorCube(0.4); objTrans.addChild ( x ); return objRoot; } public static void main ( String[] args ) { Frame frame = new MainFrame ( new Prog1(), 256, 256 ); } }