Frage von Florian366, 34

Gibt es eine "Drehmatrix" um einen Quader in alle 3 Richtungen zu drehen oder wie bekomme ich das hin?

Ich kann ja hiermit ein Rechteck drehen:

     ( cos a  -sin a )   ( 3 )   ( 3 cos a - 5 sin a )
A' = ( sin a   cos a ) * ( 5 ) = ( 3 sin a + 5 cos a )

Ist es sinnvoll an jedem Punkt des Quader für alle 3 anliegenden Flächen den neuen Punkt auszurechnen und danach ein Offset auszurechnen und diese 3 offsets danach zu addieren oder macht das kein Sinn? Gibt es vielleicht auch einen besseren Weg oder funktioniert dies gar nicht?

Mfg

Antwort
von Physikus137, 19

Natürlich gibt es auch eine Drehmatrix in 3 Dimensionen.

Siehe den Wikipediaeintrag "Drehmatrix", oder gleich hier bei den Eulerschen Winkeln:

https://de.m.wikipedia.org/wiki/Eulersche\_Winkel

Kommentar von Florian366 ,

Hey, ich kenne mich mit Matrizen nicht sehr gut aus, wie kann ich diese Matrix ausrechnen und in einen Vektor umwandeln?

Kommentar von Physikus137 ,

Du erhältst die Komponenten des Vektors im gedrehten Koordinatensystem ebenso wie in 2D durch Multiplikation des Vektors mit der Drehmatrix.

Drehungen um eine allgemeine Achse haben eine recht komplizierte Drehmatrix, siehe

https://de.m.wikipedia.org/wiki/Drehmatrix#Drehmatrizen_des_Raumes_.7F.27.22.60U...

Eine Drehung um die x-Achse sieht fast genau so aus wie deine 2D Drehung um den Koordinatenurprung:

A'_x = A_x

A'_y = A_y * cos α - A_z sin α

A'_z = A_y * sin α + A_z cos α

Drehungen um die beiden anderen Koordinatenachsen sehen ganz ähnlich aus, siehe obigen Wikipedia-Link.

Am einfachsten zerlegst du deine Drehung in Drehungen um die drei Koordinatenachsen und wendest diese einfachen Matritzen mit entsprechenden Winkeln hintereinander an.

Kommentar von Florian366 ,

Ich bekomme dabei ja dann insgesamt 3 x, y und z Werte.

Wie kann ich diese in einen x, y, z Wert?

Kommentar von Physikus137 ,

Du hast drei Matritzen X, Y und Z für die Drehung um die x-, y- und z-Achse. Sei A der Vektor den du drehen willst. Jetzt führst du die drei Matrixmultiplikationen hintereinander durch:

A' = X A

A'' = Y A'

A''' = Z A''

Es ist also A''' = X Y Z A

Kommentar von gh7401 ,

Achte auf die Reihenfolge der Drehungen

Kommentar von Physikus137 ,

Stimmt. Richtig wäre gewesen

A''' = Z Y X A

Keine passende Antwort gefunden?

Fragen Sie die Community