Hilfe beim Einstieg in die Matrizenrechnung
-
Hallo!
Ich befasse mich derzeit mit "Transformationen im dreidimensionalen Raum", also der Rechnung mit 4x4 Matrizen.
Eine Frage kann ich mir aber einfach nicht beantworten:
Angenommen, ich habe zwei Matrizen, eine um etwas um die X-Achse zu rotieren, eine um etwas um die Y-Achse zu rotieren. Wenn ich diese beiden Matrizen miteinander multipliziere, sollte ich ja eine Matrix erhalten, die beide Transformationen in sich vereint.
Jetzt ist es aber doch so, dass hier das Kommutativgesetz nicht gilt. Woher weiß ich also, welche Matrix ich mit welcher multiplizieren soll?
Denn wie ich die Transformation ausführe ist egal, es kommt immer zum gleichen Ergebnis (sage ich jetzt einfach mal so, habe im Gedanken gerade zwei Fälle durchgespielt, für die das so war). Aber bei den Matrizen ist es dann ja dennoch anders. Woher weiß ich also, welche ich mit welcher multiplizieren muss? Und warum?
-
EnterTheMatrix schrieb:
Denn wie ich die Transformation ausführe ist egal, es kommt immer zum gleichen Ergebnis (sage ich jetzt einfach mal so, habe im Gedanken gerade zwei Fälle durchgespielt, für die das so war).
Das ist aber im Allgemeinen nicht so, von daher ist das ganz sinnvoll, das es bei Matrizen auch nicht gilt
Nimm bspw. den Punkt (1,0,0) und drehe ihn erst 90° um die x-Achse, dann 90° um die y-Achse. Dann das ganze mal andersrum.
-
Ja stimmt, ich bin schon ganz durcheinander. Aber wenn der Ursprung meines Koordinatensystems genau in der Objektmitte liegt, müsste es egal sein, in welche Reihenfolge ich die Rotationen ausführe!
Hmm, verhalten sich die Matrizen dann doch so, wie wenn ich die Rotationen nacheinander ausführe?
X-Rotation * Y-Rotation entspricht dem Rotieren um die X-Achse vor dem Rotieren um die Y-Achse? Wenn ja, dann habe ich mich jetzt aber ganz schon verplant!
-
EnterTheMatrix schrieb:
Hmm, verhalten sich die Matrizen dann doch so, wie wenn ich die Rotationen nacheinander ausführe?
X-Rotation * Y-Rotation entspricht dem Rotieren um die X-Achse vor dem Rotieren um die Y-Achse? Wenn ja, dann habe ich mich jetzt aber ganz schon verplant!Sie verhalten sich so. Aber: Wenn Du Deinen Koordinatenvektor von hinten mit der resultierenden Matrix multiplizierst, ist die Reihenfolge genau andersherum, als Du hier jetzt angenommen hast.
Wenn X die Matrix für die X-Rotation ist, Y die Matrix für die Y-Rotation und x der Koordinatenvektor, dann ergibt
x' = X*Y*x
also eine Y-Rotation gefolgt von einer X-Rotation.