Ein 3D-Objekt enthält eine Sammlung von Koordinaten, die zusammen gerendert wurden. Die Klasse der Stammfunktionen (Primitive class) ist eine abstrakte Klasse für Geometrieobjekte, die als einfache Bausteine in Szenengraphen verwendet werden können. Java-3D bringt vier praktische Unterklassen der Stammfunktionen mit: Kugel (Sphere), Quader (Box), Kegel (Cone) und Zylinder (Cylinder). Mit ihnen lassen sich problemlos einfache Objekte erstellen, ohne viele Daten anzugeben. Bei der Kugel-Klasse gibt man beispielsweise einfach den Radius an, und alle Scheitelpunkte werden automatisch berechnet.
Will man ohne die Stammfunktionen-Klassen arbeiten, muss die Shape3D-Klasse verwendet werden, um alle Scheitelpunkte anzugeben. Die Daten lassen sich in Gestalt von Dreiecken, Vierecken, Linien oder Punkten spezifizieren. Die geometrische Repräsentation einer Kugel würde zum Beispiel als polygonales Netz definiert, üblicherweise mithilfe von Bändern aus miteinander verbundenen Dreiecken oder Vierecken.
Zumindest muss jeder Scheitelpunkt einen Ortswert (Koordinate) aufweisen. Zusätzlich zu den Ortswerten kann man noch weitere Elemente für jeden Scheitelpunkt angeben, etwa einen Farbwert, einen Normalvektor oder Texturkoordinaten. Normalvektoren finden für Beleuchtungseffekte Verwendung. Texturkoordinaten kommen zum Einsatz, um Texturen per Texturmapping auf einer Oberfläche darzustellen. Jeder Scheitelpunkt kann auch einen Alpha-Wert haben (für die Transparenz), der zusammen mit seiner Farbe angegeben wird. Bei Verwendung der Stammfunktionen-Klassen werden die Scheitelpunktvektoren und die Texturkoordinaten automatisch erzeugt.
Obwohl sich eine ganze Menge Daten mit jedem Scheitelpunkt speichern lässt, werden viele Grafikeffekte mithilfe des Appearance-Objekts erzeugt. Dieses Objekt beschreibt die allgemeinen Attribute der Oberfläche eines Gegenstandes. Jedes Shape3D- und Stammfunktionen-Objekt verfügt über sein eigenes Appearance-Objekt. Jedes Appearance-Objekt enthält wiederum eine Reihe von Attribut-Objekten. So kann ein Appearance-Objekt beispielsweise sowohl ein ColoringAttributes-Objekt als auch ein RenderingAttributes-Objekt enthalten.
Wie funktionieren Transformationen, Lichteffekte und Texturierungen?
Wenn die Objekte fertig sind und dargestellt werden sollen, lassen sie sich mittels 3D-Transformationen bewegen und skalieren, also im Prinzip animieren. Ort, Richtung, und Orientierung der Ansicht bezeichnet man als Viewpoint. Transformationen werden als Matrizen angegeben, und zwar in der leistungsfähigen Transform3D-Klasse. Transform3D bringt zahlreiche Hilfsfunktionen mit, um gängige Transformationen festzulegen, etwa Translationen, Rotationen oder Skalierungen.
Die Methode setTranslation(Vector3f trans) führt eine Translation eines Objekts durch, verschiebt es also. Dazu werden die Translationswerte dieser Transformation durch die x-, y- und z-Werte im trans-Argument ersetzt. Die Methode setScale(double scale) legt den Skalierungsfaktor der Transformation fest. Diese Funktion dient zur Größenveränderung eines Objekts. Die Methode rotX(double angle) stellt die Rotationskomponente auf eine Drehung gegen den Uhrzeigersinn um die x-Achse ein.
Zusätzlich zur Auswahl der Objekte innerhalb der Szene lässt sich ihre Darstellung auch über Beleuchtungseffekte steuern. Man kann die Art des Beleuchtungseffekts, etwa ein Spotlight, und die Farbe des Lichts angeben. Ebenso sind Nebeleffekte und automatische Verhaltensweisen der Objekte möglich.
Neueste Kommentare
1 Kommentar zu So lassen sich mit Java-3D Grafikanwendungen erstellen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
java3d ist so einfach,dass man es nicht glaubt, Zum Beispiel habe ich im Oktober 2016 einen neuen Laptop´(1000 Euro) in Cottbus gekauft,eingerichtet vom Verkäufer,neuesten Virenscanner mit Jahresgarantie gekauft und vom Verkäufer eingerichtet -garantiert virenfrei . Dann 30 fehlerfreie Java3d Programme
mittleren bis großen Umfanges 10 Jahre benutzt und die Absicht sie mit neuer 3dDSoftware vo Or … auf Window 10 und meinen neuen 64Bit Wortbreite
Computer zu installieren. Ergebnis statt problemlosem Download ein bis in die Bootsektoren hinein mit gefährlichen Viren infizierten Computer zurück bekommen. Da kommt Freude an 3d auf! Mit besten Grüßen ein lieber Nutzer