Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

FH-Hof Ziel der Vorlesung Einführung in die Programmierung von 3D-Grafiken Basis ist Java3D Relativ einfache 3D-Programmierung Volle Programmkontrolle.

Ähnliche Präsentationen


Präsentation zum Thema: "FH-Hof Ziel der Vorlesung Einführung in die Programmierung von 3D-Grafiken Basis ist Java3D Relativ einfache 3D-Programmierung Volle Programmkontrolle."—  Präsentation transkript:

1 FH-Hof Ziel der Vorlesung Einführung in die Programmierung von 3D-Grafiken Basis ist Java3D Relativ einfache 3D-Programmierung Volle Programmkontrolle in der virtuellen Welt Wahl eines zentralen Themas für Beispiele: Virtuelles Haus? Raumschiffe im Weltraum? anderes Thema?

2 FH-Hof Inhalt der Vorlesung Grundlagen von Java3D Darstellung der Geometrie unterschiedlicher Formen Automatisches Erzeugen einer Geometrie Interaktion mit der virtuellen Welt Animation Licht Texturen

3 FH-Hof Material zur Vorlesung Unterlagen Java3D Tutorial Java3D API Dokumentation (Java Verzeichnis) Skript Folien Entwicklungsumgebung JDK 1.4:S:\Dozenten\GOEBEL\Programm\java Java3D: S:\Dozenten\GOEBEL\Programm\java\jre\lib\ext Wichtig:Benötigte Packages importieren

4 FH-Hof Java3D Konzept Erzeugung eines Szenengraphen als virtuelle Welt Darstellung der virtuellen Welt mit Hilfe eines Renderer Der Renderer: ist kein Java-Programm nutzt Hardware-Unterstützung für die effiziente Darstellung von 3D Grafiken Die Geschwindigkeit der Darstellung ist weitgehend unabhängig von der Effizienz des Benutzerprogramms.

5 FH-Hof Szenengraph: Aufbau

6 FH-Hof Szenengraph: Darstellung Die Klasse JFrame mit einem Objekt der Klasse Canvas3D stellt einen Szenengraph dar. Ein Objekt der Klasse SimpleUniverse enthält eine Objekt der Klasse Locale sowie ein Objekt der Klasse ViewingPlatform. Dem Objekt der Klasse SimpleUniverse wird das Canvas3D-Objekt als Darstellungsbereich übergeben. Gruppen und Formen lassen sich mit addChild zu dem Universum hinzufügen.

7 FH-Hof Szenengraph: Erzeugung des JFrame public class Cube extends Canvas3D {... public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(200,200); frame.getContentPane().add(new Cube()); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); }}); frame.setVisible(true); }

8 FH-Hof Szenengraph: Virtuelles Universum public class Cube extends Canvas3D {... public Cube() { super(SimpleUniverse.getPreferredConfiguration()); SimpleUniverse u = new SimpleUniverse(this); u.getViewingPlatform().setNominalViewingTransform( ); BranchGroup scene = createSceneGraph(); u.addBranchGraph(scene); }... }

9 FH-Hof Szenengraph: Erzeugung des JFrame public class Cube extends Canvas3D {... public BranchGroup createSceneGraph() { BranchGroup objRoot = new BranchGroup(); objRoot.addChild(new ColorCube(0.2)); objRoot.compile(); return objRoot; }... }

10 FH-Hof Transformationen: Konzept TransformGroup enthält alle Objekte, auf die eine Transformation angewendet wird. Die Art der Transformation wird durch eine Matrix der Klasse Transform3D definiert Belegung der Matrix zum Beispiel mit den folgenden Methoden: void setRotation(AxisAngle4d a1) void setScale(double scale) void setTranslation(Vector3d trans)

11 FH-Hof Transformationen: Beispiel TransformGroup trans = new TransformGroup(); objRoot.addChild(trans); trans.addChild(new ColorCube(0.2)); Transform3D m1 = new Transform3D(); m1.setRotation(new AxisAngle4d(0,1,0,Math.PI / 4)); trans.setTransform(m1);

12 FH-Hof Mauskontrolle TransformGroup trans = new TransformGroup(); trans.setCapability(TransformGroup.ALLOW_TRANSF ORM_WRITE); trans.setCapability(TransformGroup.ALLOW_TRANSF ORM_READ); trans.addChild(... ); MouseRotate mRot = new MouseRotate(trans); MouseTranslate mTrans = new MouseTranslate(trans); BoundingSphere bounds = new BoundingSphere(); mRot.setSchedulingBounds(bounds); mTrans.setSchedulingBounds(bounds); trans.addChild(mRot); trans.addChild(mTrans);


Herunterladen ppt "FH-Hof Ziel der Vorlesung Einführung in die Programmierung von 3D-Grafiken Basis ist Java3D Relativ einfache 3D-Programmierung Volle Programmkontrolle."

Ähnliche Präsentationen


Google-Anzeigen