// ...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 Gedrehter_Wuerfel_3 extends Applet{
	public BranchGroup createSceneGraph(){
		
		// erzeuge einen bunten Würfel
		ColorCube cube = new ColorCube(0.4);
		
		// Wert der Drehung für X festlegen
		Transform3D rX = new Transform3D();
		rX.rotX(Math.PI/4.0);
		
		// Wert der Drehung für Y festlegen
		Transform3D rY = new Transform3D();
		rY.rotY(Math.PI/4.0);
		
		// Matritzenmultiplikation
		rX.mul(rY);
		
		// erzeuge Transformationsgruppe für die Drehung XY
		TransformGroup tg = new TransformGroup(rX);
		
		// erzeuge die Wurzel der Würfelzene
		BranchGroup root = new BranchGroup();
		
		// Transformation der Wurzel zuordnen
		root.addChild(tg);
		
		// Würfel der Transformation zuordnen
		tg.addChild(cube);
		
		//fertig
		return root;
	}
	public void init(){
		
		// erzeuge das Universum
		SimpleUniverse universe = Utils.createUniverse(this);
		
		// hänge die 3D-Szene ein
		universe.addBranchGraph(createSceneGraph());
	}
	public Gedrehter_Wuerfel_3(){}
	public static void main(String[]args){
		new MainFrame (new Gedrehter_Wuerfel_3(), 256, 256);
	}
}