Der Befehl von OpenGL macht etwas anderes. Du gibst mit den 3 Argumenten einen Einheitsvektor an um den du die ganze Sache drehen willst. Das 1. Argument ist dann nur noch der Winkel.
Wie Andreas schon sagt, das drehen um 45 Grad auf der Achse (1,0,1) ist etwas anderes als drehen um 45 Grad auf der Z-Achse und anschließendes drehen um 45 Grad auf der X-Achse. Es kommt auch nochmal was anderes raus wenn du zuerst um die X-Achse und dann um die Z-Achse drehst.
Doch. Du berechnest eine Matrix für die Rotation um die X-Achse und eine Matrix für die Matrix um die Z-Achse. Wenn du die beiden Matrizen in der gewünschten Reihenfolge multiplizierst, erhälst du die gesuchte Matrix die beide Operationen durchführt.
Wenn du nun in einem Schritt direkt auf die Matrix kommen möchtest...hm...also dafür ist es sinnvoll zu wissen was man da eigentlich so treibt:
Genau genommen führst du da einen Basiswechsel durch. Eine Basis ist in unserem Fall eine Menge von 3 linear unabhängigen Vektoren. Bei einem Punkt den du reinsteckst sind die Koordinatenachsen (1,0,0), (0,1,0) und (0,0,1). Wenn du nun eine 3x3 Matrix hast die so aussieht
Code:
X.x Y.x Z.x
X.y Y.y Z.y
X.z Y.z Z.z
wechselst du zur Basis mit den Koordinatenachsen X, Y und Z. Es reicht also die gewünschte Drehung für die drei Koordinatenachsen durchzuführen und daraus eine Matrix zu bauen. Um das zu verstehen ist es ganz gut sich die Rotationsmatrizen einmal daraufhin genauer anzuschauen.
In der Computergrafik (und in OpenGL) sind die Matrizen üblicherweise 4x4. Mit der zusätzlichen Dimension kann man dann auch Translation und perspektivische Projektion darstellen.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Unser Tutorial_Nachsitzen könnte dich vielleicht auch interessieren.
Was fürs Auge gibts im Tutorial_Matrix2.
Und allgemeines zum Thema Matrix. Dort ist auch das CompGeo Script von der TU Chemnitz verlinkt, welches quasi als Tafelwerk dienen kann.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.