OpenGL frage zu Matrix



  • Hi

    ich bin eigentlich eher ein Anfänger in ogl.
    Ich bin gerade an einem Projekt, das aus Dateien Modelle einlesen soll, welche dann in einer CHologramm classe, mit verschiedenen attributen (relativ zu anderen "Hologrammen" -> winkel; Grösse; Geschwindigkeit) dargestellt werden sollen.
    Das klappe eigentlich schon ganz gut. Mein format wird gelesen und dargestellt.

    Im moment habe ich die sache mit den Winkeln zwischen verschiedenen CHologramms mit einer verhältnis-matrix gelöst. Ich will aber die winkel(x,y,z in grad) direkt angeben können. Wie kann ich eine MAtrix erzeugen, die ein Objekt um 3 richtungen verdreht?
    ich kann ja schlecht
    glRotatef(winkel_x, 1,0,0);
    glRotatef(winkel_y, 0,1,0);
    glRotatef(winkel_z, 0,0,1);
    schreiben, da dann ja der winkel y um den winkel x nochmal gedreht wird und der winkel z um das vorhergehende.

    Wie kann ich jetzt eine solche Matrix richtig generieren?
    Bitte helft mir



  • Welche Winkel möchtest du denn angeben, wenn es nicht diese drei (mir bekannt als Yaw, Roll, Pitch) sind?

    Bye, TGGC \-/



  • ja genau diese will ich angeben.
    Ich meine halt, dass ich alle drei gleichzeitig angeben kann.
    Und wie kann ich dann solch eine Matrix generieren?
    ich kann ja nicht alle drei nach einander Rotaten! (ich glaub das Problem nennt mal Gimbal Lock oder so)



  • Doch! Du musst die Rotationsmatrizen in der obigen Reihenfolge multiplizieren. Man kann die Winkel nicht "gleichzeitig" angeben, da auch die Reihenfolge entscheidend ist.

    Bye, TGGC \-/



  • Gimbal Lock - freie Kamera-Klasse mit Quaternions: [url] ➡ http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=Quaternion_Camera_Class ➡ [/url] 🤡


Anmelden zum Antworten