thunderwave
Grünschnabel
Hallo alle zusammen!
Ich wollte gerne eine Anwendung in Java schreiben die mir simple dreidimensionale Objekte wie zum Beispiel einen Quader darstellen kann.
Mein Ziel ist es außerdem sowohl das Objekt zu bewegen als auch zu rotieren. Außerdem sollen die Kamera Koordinaten ebenfalls änderbar sein.
Ich habe einige Seiten durchgestöbert, und bin auf folgendes gestoßen:
jjam.de Hier gibts unter der Kategorie 3D drei Applets mit dem Namen Würfel. Das sieht auf den ersten Blick perfekt aus. Die Rotation des Objektes ist sogar schon mit integriert. Ich habe die Anwendung erweitert und versucht ein wenig rum zu spielen. Habe bei Wikipedia diese Seite hier gefunden 3D Perspective projection und erkannt, dass das Applet von jjam.de ebenfalls diese Transformationsmatrix verwendet mit den ganzen cos / sin Berechnungen. Im Applet wird also der Vektor d berechnet. Ich konnte das Programm leider nicht erweitern, dass ich auch die Kameraposition ändern konnte. Bei Wikipedia steht zwar dass es eine Kamera Transformation ist und:
Habe dann schließlich weiter gegoogelt und die ganze Zeit ziemlich mathematisch belastete Transformationen mit 4x4 Matrizen gefunden. Bin mir nicht sicher, aber ich vermute in der 4.Dimension steckt da die Information über die Kameraposition drin. Allerdings habe ich nicht rausfinden können, wie so eine 4x4 Matrix dann letztendlich auf eine 2D Fläche umgewandelt wird.
Ich hoffe ihr könnt mir helfen.
Schöne Grüße zur Nacht
thunderwave
Ich wollte gerne eine Anwendung in Java schreiben die mir simple dreidimensionale Objekte wie zum Beispiel einen Quader darstellen kann.
Mein Ziel ist es außerdem sowohl das Objekt zu bewegen als auch zu rotieren. Außerdem sollen die Kamera Koordinaten ebenfalls änderbar sein.
Ich habe einige Seiten durchgestöbert, und bin auf folgendes gestoßen:
jjam.de Hier gibts unter der Kategorie 3D drei Applets mit dem Namen Würfel. Das sieht auf den ersten Blick perfekt aus. Die Rotation des Objektes ist sogar schon mit integriert. Ich habe die Anwendung erweitert und versucht ein wenig rum zu spielen. Habe bei Wikipedia diese Seite hier gefunden 3D Perspective projection und erkannt, dass das Applet von jjam.de ebenfalls diese Transformationsmatrix verwendet mit den ganzen cos / sin Berechnungen. Im Applet wird also der Vektor d berechnet. Ich konnte das Programm leider nicht erweitern, dass ich auch die Kameraposition ändern konnte. Bei Wikipedia steht zwar dass es eine Kamera Transformation ist und:
Aber nachdem ich die beiden Parameter implementiert habe, entsprach es nicht der Kamerabewegung sondern einer Bewegung des Objektes. In der Formel sieht man ja auch, dass einfach nur der Vektor c von a subtrahiert wird. Das ist nicht das, was ich eigentlich wollte.a- the 3D position of a point A that is to be projected.
c - the 3D position of a point C representing the camera.
Habe dann schließlich weiter gegoogelt und die ganze Zeit ziemlich mathematisch belastete Transformationen mit 4x4 Matrizen gefunden. Bin mir nicht sicher, aber ich vermute in der 4.Dimension steckt da die Information über die Kameraposition drin. Allerdings habe ich nicht rausfinden können, wie so eine 4x4 Matrix dann letztendlich auf eine 2D Fläche umgewandelt wird.
Ich hoffe ihr könnt mir helfen.
Schöne Grüße zur Nacht
thunderwave