Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Linien, Flächen & geometrische Figuren von Mario Linge

Ähnliche Präsentationen


Präsentation zum Thema: "Linien, Flächen & geometrische Figuren von Mario Linge"—  Präsentation transkript:

1 Linien, Flächen & geometrische Figuren von Mario Linge
Java 3D – Seminar Linien, Flächen & geometrische Figuren von Mario Linge

2 Themenübersicht kurze Einführung (Shape3D) Primitives
mathematische Klassen Array-Klassen

3 Shape3D-Knoten

4 Shape3D formt ein virtuelles Objekt
Unterklasse von Leaf Geometry: Struktur der Form Appearance: Farbe, Transparenz,... mehrfach verwendbar

5 Shape3D Konstuktoren und Methoden
Konstruktoren: Shape3D( ) Shape3D( Geometry geo, Appearance ap ) Methoden: void setGeometry( Geometry geo ) void setAppearance( Appearance ap)

6 Übersicht Utility-Klassen fertige Objekte, Box, Cone…
mathematische Klassen Tupel, Points, Color Array - Klassen LineArray bis TriangleFanArray

7 Utility -Klassen klassische Grundkörper
com.sun.j3d.utils.geometry.Primitive fertige Körper incl. Shape3D Größe und Erscheinung änderbar

8 Utility –Klasse: Box Box() Box(float xdim, float ydim, float zdim,
Default 2.0 m zentriert im Ursprung Box(float xdim, float ydim, float zdim, Appearance appearance) Größenangaben Erscheinungsbild

9 gleiches Prinzip: Sphere
Default 1m Radius Sphere(float radius) Sphere(float radius, Appearance appearance)

10 ebenso Cone Cone() Cone(float radius, float height) float height,
Default 1m Radius & 2m Höhe Cone(float radius, float height) float height, Appearance appearance)

11 …und Cylinder Cylinder() Cylinder(float radius, float height)
Default 1m Radius & 2m Höhe Cylinder(float radius, float height) float height, Appearance appearance)

12 Color Cube fertiger Würfel, verschiedenfarbige Seiten
nur noch Größe änderbar, keine Appearance abgeleitet von Shap3D

13 Wie binde ich Primitives ein?
Beispiel

14 mathematische Klassen
javax.vecmath.* - Package sieben abstrakte Tuple*-Klassen alle anderen Klassen erben von Tuple*

15 mathematische Klassen
Point-Klassen (für Koordinaten) Color-Klasse (Farbe) Vector-Klassen (Oberflächennormale)

16 Konstruktoren & Methoden
Point3f() Defaultwerte(0,0,0) Point3f(float x, float y, float z) void set(float x, floaty)           

17 Geometry-Array-Klassen
javax.media.j3d.Geometry Alle erben von Geometry- Array(abstrakt) Modellierung komplizierter Objekte Punkte, Linien, Polygone, Flächen           

18 Geometry-Array-Klassen
LineSripeArray LineArray TriangleStripeArray TriangleArray

19 3 Schritte zur Erstellung
1. Objekt erzeugen 2. Objekt mit Daten füllen 3. Referenzieren aus einem Shape3D Objekt           

20 Schritt 1 Leeres Objekt erzeugen
LineArray myLine = new LineArray (2, LineArray.COORDINATES); vertexCount: Anzahl der Vertices vertexFormat: Welcher Datentyp vertexFormat: COORDINATES, NORMALS, COLOR_3 ...           

21 Schritt 2 Objekt mit Daten füllen
Setzen der Koordinaten: myLine.setCoordinate(0,new Point3f(-0.5f,-0.8f,-0.8f)); myLine.setCoordinate(1,new Point3f( 0.9f,0.8f,0.0f)); setzen der Farbe: myLine.setColor(0, new Color3f(1.0f, 0.0f, 0.0f)); myLine.setColor(1, new Color3f(1.0f, 0.0f, 0.0f));          

22 Schritt 3 Referenzieren von Shape3D
BG = new BranchGroup(); BG.addChild(new Shape3D(myLine));

23 Beispiel

24 Beachten bei der Füllung
Nur gefüllte Polygone bis zu 4 Kanten Triangulator erstellt TriangleArrays: Triangulator tr = new Triangulator(); tr.triangulate(ginfo); // ginfo ist eine geometry shape.setGeometry(ginfo.getGeometryArray()); // shape ist Shape3D

25 IndexedGeometryArray
Ähnlich wie GeometryArray-Klasse Spezielle Lösung zur Wiederverwendung von Punkten innerhalb des Index Index kann auf sich selbst verweisen

26 IndexedGeometryArray
//3= Anzahl der Indizes mit tatsächlichen Werten //4= Gesamtanzahl der Indizes IndexedLineArray axisLines = new IndexedLineArray(3, GeometryArray.COORDINATES, 4); //neue Indizes mit tatsächlichen Werten axisLines.setCoordinate( 0, new Point3f(-1.0f, 0.0f, 0.0f)); axisLines.setCoordinate( 1, new Point3f(1.0f, 1.0f, 1.0f)); axisLines.setCoordinate( 2, new Point3f(0.5f, -1.0f, 0.0f)); //Verweis auf schon vorhandene Werte im eigenen Index axisLines.setCoordinateIndex( 0, 0);

27 Referenzen http:// www.java.sun.com
haller/mmp5_ /

28 Noch Fragen ? ? ?


Herunterladen ppt "Linien, Flächen & geometrische Figuren von Mario Linge"

Ähnliche Präsentationen


Google-Anzeigen