Java 3D

GISWiki - Das freie Portal für Geoinformatik (GIS)
Wechseln zu: Navigation, Suche

Java 3D ist eine Bibliothek von Java-Klassen zur Erzeugung, Manipulation und Darstellung dreidimensionaler Grafiken innerhalb von Java-Applikationen und -Applets.

Seit einiger Zeit ist Java 3D als Open Source freigegeben

Die Struktur der darzustellenden Szene wird durch das Aufbauen eines entsprechenden Szenengraphen definiert. Im Szenengraphen wird der logische Aufbau der darzustellenden Objekte auf eine gleichartig aufgebaute, baumähnliche Struktur abgebildet, die im Wesentlichen aus Definitionen von Transformationen und Geometriedaten besteht. Die so strukturierte Sicht der Szene erlaubt eine komfortable Handhabung der Objekte.

Mit dem Java-3D-API können aus dem Java-Programm heraus dreidimensionale Objekte modelliert, gerendert sowie das Verhalten und die Ansicht gesteuert werden.

Die Bibliothek implementiert selbst Objekte und Methoden zur Repräsentation einer Szenerie und nutzt für deren Darstellung ausschließlich vorimplementierte und an das jeweilige Betriebssystem angepasste Funktionsbibliotheken. Derzeit sind Fassungen der Java 3D-API für OpenGL von SiliconGraphics (www.sgi.com) auf Windows NT und diversen UNIX-Plattformen erhältlich sowie eine Version für Direct3D auf Windows 9x und Windows 2000.

Dabei ist Java 3D nicht nur ein einfacher Wrapper um die OpenGL- bzw. DirectX-Schnittstelle, sondern kapselt deren Funktionalität in ein leichter verständliches objektorientiertes Programmkonzept, bei dem verschiedene darzustellende Elemente einem so genannten Szenengraphen (scene graph) hinzugefügt werden.

Mit Java3D erzeugte Objekte nutzen somit zur Darstellung die Implementierung der im System verwendeten Videohardware und erben somit deren Geschwindigkeitsvorteile. Daher besteht die Möglichkeit leistungsfähige 3D-Szenarien zu entwickeln, welche auf der GUI visualisiert werden können.

Ein virtuelles Universum

Java 3D stellt eine Reihe von Klassen und Interfaces zur Verfügung, mit denen es möglich ist, komplexe dreidimensionale Grafiken zu rendern und zu manipulieren. Darüber hinaus ist die Programmierung einer Soundkulisse möglich. 3D-Objekte werden in einem virtuellen Universum dargestellt; es ist möglich, sich in diesem Raum frei zu bewegen.

Die Orientierung der Raumachsen einer gerenderten Sphäre liegt in einem rechtshändigen Koordinatensystem. Die Java 3D-API sieht lediglich dieses Koordinatensystem vor, es gibt keine Möglichkeit, den Achsen eine andere Orientierung zuzuordnen.

Außerdem bietet sie mit den so genannten Locales-Objekten auch ein Instrument an, dass es ermöglicht, ein sehr präzises Koordinatensystem zu verwenden: durch diese Koordinaten, die als 256-Bit-Fließpunktzahlen implementiert sind, ist es möglich, von atomarer Ebene bis zum Makrokosmos alle Objekte in realer Größe berechnen zu lassen. Damit kann diese API auch für wissenschaftliche Anwendungen verwendet werden.

Weblinks