Punkt mit Hilfe einer Matrix drehen

Guten Tag,

ich möchte einen Punkt mit Hilfe einer 3x3 Matrix um den Ursprung drehen.

Konkret habe ich eine Drehmatrix und ein Einheitswürfel mit seinen typischen Koordinaten. (1, 1, 1 bis -1, -1, -1). Diese Koordinaten möchte ich mit der Drehmatrix so drehen, dass die neuen Koordinaten den Einheitswürfels in der gedrehten Position darstellen.

Hat jemand dazu eine Idee, (auch wie man das Ganze programmiertechnisch umsetzen könnte?)

Vielen vielen Dank im Vorraus,

Peter

Hallo

Drehung um z-Achse (x3) um den Winkel a

x1' = (cos a) x1 + (sin a) x2 
x2' = - (sin a) x1 + (cos a) x2 
x3' = x3 

bzw. abgekürzt

(x1') ( cos a sin a 0 ) (x1)
(x2') = (-sin a cos a 0 ) (x2)
(x3') ( 0 0 1 ) (x3)

Reicht das?

Gruss

Ratz

Hallo,

mhm, und wie komme ich auf den Winkel a?

mhm, und wie komme ich auf den Winkel a?

Um wieviel Grad möchtest du den Würfel denn drehen?

Grüße,
Sebastian

Um wieviel Grad möchtest du den Würfel denn drehen?

Das soll die Drehmatrix bestimmen, die mir zur Verfügung steht

Moment mal …
Hallo

Du hast in deinem Ursprungsposting geschrieben:

ich möchte einen Punkt mit Hilfe einer 3x3 Matrix um den Ursprung drehen.

Um welchen Winkel um welche Achse?
Für die Drehung um die Z-Achse habe ich es dir gezeigt.

Gruss

Ratz

Die Drehmatrix, die die Drehung des Körpers beschreibt, soll auf die einzelnen Punkte angewandt werden, so dass das entstandene Punktgerüst den gedrehten Körper darstellt.

Ist das überhaupt möglich?

Moien

Ist das überhaupt möglich?

Klar geht das:

Punkt_im_neuen_Koordinatensystem = Matrix * orignal_Punkt

Wobei man den Punkt als Vektor mit 3 Einträgen darstellt. Die Gleichnung rechnet man nach den normalen Matrix-Rechnenregel aus: http://en.wikipedia.org/wiki/Matrix_multiplication (die Vektoren werden als Matrix aufgefast).

Die Vektoren muss man evtl. noch transponieren (von 1x3 auf 3x1 umstellen), je nach Schreibweise.

cu

Alles klar, dankeschön, es funktioniert.