// ...imports import javax.media.j3d.*; import com.sun.j3d.utils.universe.*; import javax.vecmath.Point3d; import com.sun.j3d.utils.behaviors.vp.*; import com.sun.j3d.utils.applet.MainFrame; import com.sun.j3d.utils.geometry.ColorCube; import java.applet.Applet; import javax.media.j3d.Alpha; import javax.media.j3d.PositionInterpolator; public class Animierter_Wuerfel_3 extends Applet{ public BranchGroup createSceneGraph(){ // erzeuge einen bunten Würfel ColorCube cube = new ColorCube(0.4); TransformGroup tg = new TransformGroup(); // hänge den Würfel an die Wurzel tg.addChild(cube); // Gruppierung für Animation erzeugen TransformGroup animationGroup = new TransformGroup(); animationGroup.setCapability (TransformGroup.ALLOW_TRANSFORM_WRITE); animationGroup.addChild(tg); // Animations-Achse erzeugen Transform3D animAxis = new Transform3D(); animAxis.rotY(Math.PI*0.75); // Trigger und Interpolator erzeugen Alpha alpha = new Alpha (-1,3000); PositionInterpolator interpolator = new PositionInterpolator (alpha, animationGroup, animAxis, 0.0f, 5.0f); interpolator.setSchedulingBounds (new BoundingSphere()); animationGroup.addChild(interpolator); // erzeuge die Wurzel der Würfelzene BranchGroup root = new BranchGroup(); // hänge den Würfel an dei Animation root.addChild(animationGroup); //fertig return root; } public void init(){ // erzeuge das Universum SimpleUniverse universe = Utils.createUniverse(this); // hänge die 3D-Szene ein universe.addBranchGraph(createSceneGraph()); } public Animierter_Wuerfel_3(){} public static void main(String[]args){ new MainFrame (new Animierter_Wuerfel_3(), 256, 256); } }