Login
Newsletter
Werbung

So, 18. Juli 2004, 00:00

Programmieren mit Looking Glass 3D

Screenshot von Tutorial1

Johann Glaser

Screenshot von Tutorial1

Jetzt können wir die drei Programme starten.

./Tutorial1

Eine grüner Quader erscheint. Man sieht aber nur die vordere Fläche. Wie jedes Programm kann man auch dieses durch Click-and-Drag im Java-Kaffeetassen-Symbol rechts oben drehen.

Screenshot von Tutorial2

Johann Glaser

Screenshot von Tutorial2

./Tutorial2

Der Würfel ist nun gedreht und kann auch verschoben werden. Wenn der Cursor über ihn geschoben wird, vergrößert er sich.

./Tutorial3

Eine Weltkugel. Beim Anklicken dreht sie sich abwechselnd um 180° nach links bzw. rechts. Darüber befindet sich eine kleine rote Kugel, mit der sie verschoben werden kann.

Screenshot von Tutorial3

Johann Glaser

Screenshot von Tutorial3

Eigenes Programm

Wichtig ist, dass es auch für LG3D einen Window-Manager gibt. Dieser heißt allerdings SceneManager. Die Einheit für Größenangaben (z.B. Koordinaten) ist die SI-Einheit Meter. LG3D bemüht sich, die Angabe natürlich für den Betrachter erscheinen zu lassen. Gibt man also 0.1 an, wird ein 10cm großer Abstand am Bildschirm gezeichnet.

Einleitung

Der Quellcode der drei vorhin ausprobierten Tutorials beschreibt sehr gut die Grundlagen von Looking Glass 3D. Man lernt daraus sehr viel. Weiters enthalten auch Lg3dHelp sowie CDViewer viele interessante Code-Schnipsel. Ebenso sind im CVS des lg3d-core Moduls unter src/classes/org/jdesktop/lg3d/apps/test noch ein paar Anwendungen.

Den Umgang mit einer API lernt man am besten durch Beispiel-Programme. Darum bitte ich Sie, die genannten des öfteren zu betrachten. Insbesondere die sehr üppig kommentierten Tutorial-Sourcen sind eine große Hilfe.

Weiters möchte ich zwei URLs für die API-Dokumentation nennen. Unter file:///home/[username]/lg3d/docs/javadoc/api/index.html befindet sich die (lokale) API-Doku von Looking Glass. Im Internet unter http://java.sun.com/j2se/1.5.0/docs/api/index.html findet man die vollständige Doku von Java 1.5.0.

Für Looking Glass gibt es auch ein Diskussions-Forum. Man muss sich dafür gesondert anmelden.

Screenshot von PingPong

Johann Glaser

Screenshot von PingPong

Vorbereitung

Im Rest dieses Artikels setze ich zumindest das Studium der drei Tutorial-Sourcen voraus. Ich werde hier die Entwicklung einer kleinen Lg3dHelp.

Als erstes legen wir ein neues Verzeichnis unter ~/lg3d/src/classes/org/jdesktop/lg3d/apps für unsere Anwendung an:

cd ~/lg3d/src/classes/org/jdesktop/lg3d/apps
mkdir pingpong
cd pingpong

und öffnen mit einem Text-Editor die Datei PingPong.java. Sie wird die einzige Source-Datei sein.

Das Programm besteht aus einem grünen Tischtennis-Tisch. Die Oberfläche ist parallel zur X-Y-Ebene. In der Mitte ist quer ein weißes Netz gespannt, parallel zur Y-Z-Ebene. Ein gelber Ball wird von den beiden Gegner hin- und hergeschlagen. Die Flugbahn des Balles berücksichtigt die Schwerkraft.

Beim Aufschlag wird per Zufall jener Punkt bestimmt, wo der Ball im gegenüberliegenden Feld aufkommen soll. Dieser wird mit einer kleinen roten Scheibe markiert. Zusätzlich wird die Flughöhe über dem Netz ausgewählt. Daraus lässt sich die Geschwindigkeit in X-, Y- und Z- Richtung berechnen.

Mit einem Timer im 10 ms-Takt wird die aktuelle Z-Geschwindigkeit (die ja wegen der Schwerkraft immer stärker nach unten anwächst) berechnet. Aus den Geschwindigkeiten wird der nächste Punkt des Balles berechnet.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung