1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
825
825
EMPFEHLEN
-
20.06.08 19:44 #1
- Registriert seit
- Feb 2005
- Ort
- Berlin
- Beiträge
- 130
Hi,
ich setz mich nun schon seit mehreren Tagen mit OpenGL basierend auf lwjgl auseinander. Vorher habe ich Java3D ausprobiert, in dessen Bibliothek es Funktionen gibt für view, womit man relativ simpel eine follow camera erzeugen kann.
Was mich nun aber seit mehreren Tagen beschäftigt, ist die drehung der "camera" um ein objekt z.B. mit gluLookAt. Die drehung um EINE Achse ist kein Problem, das funktioniert super. Ich habe mich auch schwer mit Matrizen und Quaternions auseinander gesetzt um mehrere Drehungen zu kombinieren, was aber leider immer wieder fehl schlägt.
Kann mir jemand helfen, wie ich eine Drehung der follow camera um zwei Achsen (x und y) kombiniere, so dass die position der kamera nachher stimmt?
Ich habe zich möglichkeiten ausprobiert, daher weiss ich nicht mit welchem code sample ich anfangen soll.
Am besten zeige ich mal wie ich die Kamera Vektoren für die jeweilige Achsendrehung berechne. Diese beiden möchten ich ja dann gerne kombinieren. Ob in einer Matrix oder mit Quaternions ist mir egal, wobei Quaternions glaube ich schneller sind.
Hier die berechnung von x und z bei einer Drehung von rotY um die Y Achse:
Code :1 2
float camX = (float) (camDistance * Math.sin(rotY * Math.PI / 180.0) + centerX); float camZ = (float) (camDistance * Math.cos(rotY * Math.PI / 180.0) + centerZ);
Also die Kamera hat eine feste Distanz (die verändert werden kann mit Mausrad oder +/-, somit kann man zoomen) und auf "center" liegt der punkt worum sich die "Kamera" dreht, also die Spielfigur sozusagen oder ein beliebiges Objekt.
Die Drehung um x sieht dann Ähnlich aus, jedoch habe ich bis jetzt keinen funktionierenden code hinbekommen der die beiden drehungen kombiniert ohne gimbal lock oder sonstigen komischen ergebnisse.
Bitte helft mir! Danke euch.Der Mensch ist ein Tier das zuviel denkt!
-
Hallo,
mal was grundsätzliches: Das hier ist ein Grundlagenforum und was du wissen willst hat nichts mehr mit Java-Grundlagen zu tun. Das ist richtig tief drinnen in der Materie. Wenn du eine Antwort willst, dann würde ich das in einem passenderes Unterforum posten, denn hier werden nicht unbedingt Leute hinkommen, die sich mit 3D in Java auskennen.
Leider bleibe ich dir eine Antwort schuldig aber vielleicht bekommst du ja eine, wenn du meinen Ratschlag beherzigst.
Gruß
taouri
Ähnliche Themen
-
LWJGL Mehrfachselektion
Von hammet im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 12.03.09, 09:50 -
Unterstützung für OpenGL Entwicklung mit Java via Netbeans und OpenGL Pack
Von Thomas Darimont im Forum JavaAntworten: 0Letzter Beitrag: 04.06.08, 15:13 -
Probleme mit JOGL/ LWJGL
Von commic im Forum JavaAntworten: 7Letzter Beitrag: 01.05.08, 13:51 -
Rotation bei OpenGL
Von alixander im Forum C/C++Antworten: 1Letzter Beitrag: 04.07.07, 17:17 -
OpenGL Rotation bei variablen Säulen
Von SirDregan im Forum C/C++Antworten: 0Letzter Beitrag: 12.09.02, 10:19





Zitieren
Login





