tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von taouri
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
825
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    hasta_jesaja hasta_jesaja ist offline Mitglied Gold
    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!

  2. #2
    taouri taouri ist offline Mitglied Bronze
    Registriert seit
    Jul 2006
    Beiträge
    39
    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
    takidoso bedankt sich. 

Ähnliche Themen

  1. LWJGL Mehrfachselektion
    Von hammet im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 12.03.09, 09:50
  2. Antworten: 0
    Letzter Beitrag: 04.06.08, 15:13
  3. Probleme mit JOGL/ LWJGL
    Von commic im Forum Java
    Antworten: 7
    Letzter Beitrag: 01.05.08, 13:51
  4. Rotation bei OpenGL
    Von alixander im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 04.07.07, 17:17
  5. OpenGL Rotation bei variablen Säulen
    Von SirDregan im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 12.09.02, 10:19