Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

FH-Hof Geometrie Richard Göbel. FH-Hof Aufbau des virtuellen Universums.

Ähnliche Präsentationen


Präsentation zum Thema: "FH-Hof Geometrie Richard Göbel. FH-Hof Aufbau des virtuellen Universums."—  Präsentation transkript:

1 FH-Hof Geometrie Richard Göbel

2 FH-Hof Aufbau des virtuellen Universums

3 FH-Hof Geometrische Primitive

4 FH-Hof Unterklassen von GeometryArray Einzelne Punkte ohne Verbindung lassen sich mit Hilfe eines PointArray speichern. Ein Objekt der Klasse LineArray speichert Paare von Punkten, wobei jeweils zwei aufeinander folgende Punkte mit einer Linie verbunden sind. Eine Menge von Dreiecken kann mit einem TriangleArray gespeichert werden. Hier besteht ein Dreieck aus jeweils drei aufeinander folgenden Punkten. In einem QuadArray werden vier aufeinander folgende Punkte als Viereck interpretiert. Ein GeometryStripArray enthält Linien oder Dreiecke, die gemeinsame Punkte enthalten.

5 FH-Hof Unterklassen GeometryStripArray

6 FH-Hof Inhalt eines GeometryArray Punkte der Geometrie Farben der Form, die zunächst den Punkten zugeordnet werden. Normal-Vektoren welche die Ausrichtung der Oberfläche festlegen (Beleuchtung). Information über die Abbildung eines Texturbildes auf die Oberfläche der Form.

7 FH-Hof Konstruktor für ein GeometryArray Konstruktor (int vertexCount, int vertexFormat) mit: vertexCount:Anzahl der Punkte vertexFormat:Enthaltene Informationen Deklaration der enthaltenen Information mit den folgenden Konstanten: COORDINATES NORMALS COLOR_3 oder COLOR_4 TEXTURE_COORDINATE_2 oder TEXTURE_COORDINATE_3 Beispiel: ta = new TriangleArray(12, TriangleArray.COORDINATES | TriangleArray.COLOR_3);

8 FH-Hof Methoden für ein GeometryArray setCoordinate(int index, PointXX coordinate) setCoordinates(int index, PointXX[] coordinates) setColor(int index, ColorXX color) setColors(int index, ColorXX[] colors) setNormal(int index, VectorXX normal) setNormals(int index, VectorXX[] normals)

9 FH-Hof Beispiel für eine Geometrie private Geometry testGeometry() { TriangleArray ta = new TriangleArray (3, TriangleArray.COORDINATES | TriangleArray.COLOR_3); ta.setCoordinate(0, new Point3f(0f,0f,0f)); ta.setCoordinate(1, new Point3f(1f,0f,0f)); ta.setCoordinate(2, new Point3f(0f,1f,0f)); Color3f red = new Color3f(1f,0f,0f); ta.setColor(0,red); ta.setColor(1,red); ta.setColor(2,red); return ta } Einbindung : new Shape3D(testGeometry())

10 FH-Hof Klassen für Punkte, Vektoren und Farben Aufbau eines Klassennamen: Typ des Objekts (Point, Vector oder Color). Anzahl der Komponenten (2, 3 oder 4) Datentyp der Komponenten (f für float, d für Double) Beispiele: Point3f Color4d

11 FH-Hof Beispiel: Tetraeder - Geometrie

12 FH-Hof Beispiel: Tetraeder - Programmcode Teil 1 private Geometry tetraGeometry() { Color3f RED = new Color3f(1f,0f,0f); Color3f GREEN = new Color3f(0.0f,1.0f,0.0f); Color3f BLUE = new Color3f(0.0f,0.0f,1.0f); float sqr3 = (float) Math.sqrt(3.0); float sqr2d3 = (float) Math.sqrt(2.0/3.0); TriangleArray ta; Point3f coords[] = new Point3f[12]; Color3f colors[] = new Color3f[12]; float s = 1f; coords[0] = new Point3f(0f, s*sqr2d3, - s/(2f*sqr3)); coords[1] = new Point3f(-s/2f, 0f, 0f) coords[2] = new Point3f(s/2f, 0f, 0f);...

13 FH-Hof Beispiel: Tetraeder - Programmcode Teil 2... colors[9] = BLUE; colors[10] = RED; colors[11] = GREEN; ta = new TriangleArray (12, TriangleArray.COORDINATES | TriangleArray.COLOR_3); ta.setCoordinates(0, coords); ta.setColors(0, colors); return ta; }

14 FH-Hof Appearance: Konzept Ein Objekt der Klasse Appearance definiert die Darstellung einer Geometrie mit Hilfe von Objekten der folgenden Klassen: Die Darstellung von Punkten: PointAttributes Darstellung von Linien:LineAttribute Darstellung von Polygonen: PolygonAttributes. Farbe: ColoringAttributes (Punktfarben haben Priorität!) Transparenz: TransparencyAttributes Oberflächenmaterial:Material Texturen: Texture und TextureAttributes Weitere Attribute: RenderingAttributes.

15 FH-Hof Appearance - Beispiel für die Anwendung Appearance ap = new Appearance(); ap.setPolygonAttributes( new PolygonAttributes(PolygonAttributes.POLYGON_LINE, PolygonAttributes.CULL_BACK, 0)); ap.setLineAttributes( new LineAttributes(1f,LineAttributes.PATTERN_DASH,false)); trans.addChild(new Shape3D(tetraGeometry(),ap));

16 FH-Hof Appearance - Vorder- und Rückseite

17 FH-Hof Klassen für Geometrien von Basisformen Basisformen lassen sich mit entsprechenden Unterklassen der Klasse Group erzeugen:· Mit der Klasse Box lassen sich Quader erzeugen. Die Klasse Cone ermöglicht die einfache Erzeugung von Kegeln. Mit Hilfe der Klasse Cylinder lassen sich Zylinder erzeugen. Kugeln können mit der Klasse Sphere erzeugt werden. Beispiel: Erzeugen eines Kegels trans.addChild(new Cone(0.2f, 0.6f, new Appearance()));


Herunterladen ppt "FH-Hof Geometrie Richard Göbel. FH-Hof Aufbau des virtuellen Universums."

Ähnliche Präsentationen


Google-Anzeigen