Rotation & OpenGL-Matrizen
Habe ich eine Klasse, die eine 4x4 matrix für die Skalierung und übersetzungen. Wie würde ich das umsetzen rotation Methoden zu dieser Klasse? Und sollte ich das implementieren der rotation als eine separate matrix?
InformationsquelleAutor Tom J Nowell | 2009-02-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie multiplizieren Sie Ihre aktuelle matrix mit einer rotationsmatrix. Werfen Sie einen Blick auf http://en.wikipedia.org/wiki/Rotation_matrix
Was meinst du? Je nach Ihrer Struktur, erstellen Sie eine matrix für die Drehung und multiplizieren Sie es durch Ihre in der source matrix. Oder, Sie können anwenden der Multiplikation direkt auf Ihrer matrix.
Im Grunde versuchen, neu zu erstellen, die die Funktionalität von glRotate
Warten!!!! Es funktioniert. Siehe "Verschachtelte Dimensionen".
Touche. 🙂 Aber es funktioniert nicht immer noch nicht reden, homogene Koordinaten.
InformationsquelleAutor Jacek Ławrynowicz
Gibt es eine Website, die ich benutze, jedes mal, wenn ich brauche, um die details einer 3D-transformation, genannt http://www.euclideanspace.com. Die Besondere Seite auf matrix-Rotationen gefunden werden kann hier.
Edit: Rotation um eine bestimmte Achse, Blick auf die axis & Winkel Darstellung. Diese Seite auch links zu einer Anleitung, wie zu übersetzen eine Darstellung in eine andere.
Wenn Sie drehen müssen, um mehrere Achsen, multiplizieren Sie einfach den entsprechenden Matrizen.
InformationsquelleAutor David Hanak
Beantwortung der zweiten Jahreshälfte die Frage, eine einzige 4x4-matrix ist durchaus in der Lage zu halten eine Skalierung, translation und eine rotation. So, es sei denn, Sie haben spezielle Beschränkungen auf, was Art von 4x4-Matrizen, die Sie behandeln können, ein einziges 4x4 ist ein feines, für das, was Sie wollen.
Als für die Drehung um einen beliebigen Vektor (wie Sie Sie bitten, in den Kommentaren), Blick auf die "Rotation um einen beliebigen Vektor" - Abschnitt im Wikipedia-Artikel yabcok links zu. Sie erweitern möchten, um eine 4x4-matrix, die durch Auffüllung mit Nullen, außer für das 4,4 - (skalieren) - position, die eins sein sollten. Verwenden Sie dann den matrix-Multiplikation mit Skalierung/translation 4x4 erzeugen Sie einen neuen 4x4-matrix.
InformationsquelleAutor Sol
Sie wollen, stellen Sie sicher, Sie finden einen Hinweis, der spricht über die richtige Art von matrix, die verwendet wird for computer graphics (nämlich homogene 3D-Koordinaten mit Hilfe einer 4x4 Transformationsmatrix für rotation/translation/neigen).
Finden Sie einen computer graphics "Bibel" wie Foley und Van Dam (pg. 213), oder eine von diesen:
InformationsquelleAutor Jason S
Diese Seite hat ziemlich wenig nützliche Informationen:
http://knol.google.com/k/matrices-for-3d-applications-translation-rotation
InformationsquelleAutor Mark Ingram