Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Karsten Rauls Geändert vor über 11 Jahren
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()));
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.