Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

FH-Hof Automatisches Erzeugen von Geometrie Richard Göbel.

Ähnliche Präsentationen


Präsentation zum Thema: "FH-Hof Automatisches Erzeugen von Geometrie Richard Göbel."—  Präsentation transkript:

1 FH-Hof Automatisches Erzeugen von Geometrie Richard Göbel

2 FH-Hof Laden einer Geometrie - Klassen Java3d unterstützt das Laden von Dateien im Wavefront-Format Die Methode load der Klasse ObjectFile liefert den Inhalt einer Datei Der Inhalt der Datei wird mit einem Objekt der Klasse Scene dargestellt Das Objekt der Klasse Scene enthält eine vollständige Szene mit Geometrie und weiteren Komponenten (z.B. Licht, Nebel, etc.) Die Abfrage der Komponenten einer Szene ist mit entsprechenden Methoden möglich (z.B. getSceneGroup).

3 FH-Hof Laden einer Geometrie - Anweisungen Group loadFile(String fileName) { ObjectFile f = new ObjectFile(); Scene s = null; try { s = f.load(fileName); } catch (FileNotFoundException e) {... } catch (ParsingErrorException e) {... } catch (IncorrectFormatException e) {... } return s.getSceneGroup(); }

4 FH-Hof Laden einer Geometrie - Diffuses Licht AmbientLight light = new AmbientLight(true,new Color3f(1f,1f,1f)); light.setInfluencingBounds( new BoundingSphere(new Point3d(0,0,0),10)); objRoot.addChild(light);

5 FH-Hof Laden einer Geometrie - Skalieren der Geometrie TransformGroup trans = new TransformGroup(); Transform3D reduce = new Transform3D(); reduce.setScale( 0.005 ); trans.setTransform(reduce); trans.addChild(g);

6 FH-Hof Vervollständigen einer Geometrie - Ansatz Ausgangspunkt: Punkte der Oberfläche einer Geometrie Speichern der Punkte in einem Objekt der Klasse GeometryInfo Dreiecke erzeugen mit einem Objekt der Klasse Triangulator Normale erzeugen mit einem Objekt der Klasse NormalGenerator Streifen erzeugen mit einem Objekt der Klasse Stripifier

7 FH-Hof Vervollständigen einer Geometrie - Anweisungen GeometryInfo gi = new GeometryInfo(GeometryInfo.POLYGON_ARRAY); gi.setCoordinates( ); gi.setStripCounts( ); Triangulator tri = new Triangulator(); tri.triangluate(gi); NormalGenerator ng = new NormalGenerator(); ng.generateNormals(gi); Stripifier st = new Stripifier(); st.stripify(gi); GeometryArray g = gi.getGeometryArray();

8 FH-Hof Geometrie für 2D-Texte Ein Objekt der Klasse Text2D erzeugt eine Unterklasse von Shape3D für einen Text: Text2D text2D = new Text2D("Symbolische Verfahren II", new Color3f(0.5f,0.5f,1f), "Helvetica", 48, Font.ITALIC);.addChild(text2D);

9 FH-Hof Geometrie für 3D-Texte - Ansatz Objekt der Klasse Font3D aus einem Font erzeugen Konstruktor der Klasse Font3D ein Objekt der Klasse FontExtrusion übergeben. Geometrie mit Hilfe eines Objekts der Klasse Text3D aus Font3D und Text erzeugen. Darstellung der Geometrie mit Hilfe eines Objekts der Klasse Shape3D.

10 FH-Hof Geometrie für 3D-Texte - Anweisungen Font font = new Font("Helvetica", Font.PLAIN, 2); Font3D font3D = new Font3D(font, new FontExtrusion()); Text3D textGeom = new Text3D(font3D, new String("FH Hof"), new Point3f(1f,0f,-5f));.addChild(new Shape3D(textGeom, new Appearance()));

11 FH-Hof Hintergrund setzen - Anweisungen Background backg = new Background(0.5f,0.5f,1f); // ggf. Geometry für Hintergrund setzen backg.setGeometry(... ); backg.setApplicationBounds( new BoundingSphere(new Point3d(), 100)); objRoot.addChild(backg);


Herunterladen ppt "FH-Hof Automatisches Erzeugen von Geometrie Richard Göbel."

Ähnliche Präsentationen


Google-Anzeigen