// ...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.*; import java.applet.Applet; import javax.media.j3d.Alpha; import javax.media.j3d.PositionInterpolator; import javax.vecmath.*; public class Koordinatenachsen extends Applet{ public BranchGroup createSceneGraph(){ final Color3f red = new Color3f(1.0f,0.0f,0.0f); final Color3f green = new Color3f(0.0f,1.0f,0.0f); final Color3f blue = new Color3f(0.0f,0.0f,1.0f); // Erzeuge die Wurzel der Szene BranchGroup root = new BranchGroup(); // erzeuge X-achse LineArray axisX = new LineArray(2, LineArray.COORDINATES); axisX.setCoordinate(0, new Point3f(-1.0f,0.0f,0.0f)); axisX.setCoordinate(1, new Point3f( 1.0f,0.0f,0.0f)); root.addChild(new Shape3D(axisX)); // erzeuge Y-Achse LineArray axisY = new LineArray(2, LineArray.COORDINATES|LineArray.COLOR_3); axisY.setCoordinate(0, new Point3f(0.0f,-1.0f,0.0f)); axisY.setCoordinate(1, new Point3f( 0.0f,1.0f,0.0f)); // Achsenfarbe: blau axisY.setColor(0, blue); axisY.setColor(1, blue); root.addChild(new Shape3D(axisY)); // erzeuge z-Achse // Punkte stehen im Array Point3f[] zPoints = {new Point3f(0.0f,0.0f,-1.0f), new Point3f(0.0f,0.0f, 1.0f)}; LineArray axisZ = new LineArray(2, LineArray.COORDINATES|LineArray.COLOR_3); axisZ.setCoordinates(0, zPoints); // z-Achse ist zweifarbig? axisZ.setColor(0, red); axisZ.setColor(1, green); root.addChild(new Shape3D(axisZ)); return root; } public void init(){ // erzeuge das Universum SimpleUniverse universe = Utils.createUniverse(this); // hänge die 3D-Szene ein universe.addBranchGraph(createSceneGraph()); } public Koordinatenachsen(){} public static void main(String[]args){ new MainFrame (new Koordinatenachsen(), 256, 256); } }