Was genau passiert hier? < Matrizen < Lineare Algebra < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 23:50 Do 06.10.2011 | Autor: | Drno |
Aufgabe | Die Matrizen sind alle Rotationsmatrizen (3x3):
Gegeben R (beliebige Rotation)
Gesucht [mm] R_z [/mm] (Rotationsmatix um z-Achse)
Unbekannt: [mm] R_a [/mm] (beliebige Rotation)
R = [mm] R_a*R_z *R_a'
[/mm]
Nun nehme ich die den Eigenvektor zum Eigenwert 1 der Matrix R, [mm] R_{a3} [/mm] (ich kann zeigen, dass dies auch die dritte Spalte von [mm] R_a [/mm] ist). Zu dieser Matrix baue ich mir eine Rotationsmatrix der Form
[mm] R_b [/mm] = [mm] [\vec{x}, \vec{y}, R_{a3}],
[/mm]
wobei [mm] \vec{x} [/mm] und [mm] \vec{y} [/mm] zwei beliebige Einheitsvektoren die mit [mm] R_{a3} [/mm] ein Rechtssystem bilden, sind.
Nun kommt:
[mm] R_z [/mm] = [mm] R_b'*R*R_b [/mm] |
Meine Frage ist recht einfach:
Warum ist das so?
Ich bin eher durch Zufall auf diesen Zusammenhang gestoßen und würde gerne wissen, warum das so ist. Warum kann ich mein [mm] R_z [/mm] aus der Matrix R extrahieren ohne Wissen über die From von [mm] R_a [/mm] zu haben.
Ist es dann sogar möglich die Matrix [mm] R_a [/mm] zu bestimmen?
Schließlich kenne ich bereits die dritte Spalte [mm] R_{a3}.
[/mm]
Für Hilfe wäre ich wirklich dankbar.
Wer es in Matlab ausprobieren will:
c1 = cos(1); s1 = sin(1);
c2 = cos(1.2); s2 = sin(1.2);
c3 = cos(0.3); s3 = sin(0.3);
R1 = [c1 -s1 0; s1 c1 0; 0 0 1];
R2 = [c2 0 s2; 0 1 0; -s2 0 c2];
R3 = [1 0 0; 0 c3 -s3; 0 s3 c3];
Ra = R1*R2*R3;
c1 = cos(0.5); s1 = sin(0.5);
Rz = [c1 s1 0; -s1 c1 0; 0 0 1]
R = Ra*Rz*Ra';
e = Ra(:,3);
ex = [1,1,-(e(1)+e(2))/e(3)]';
ex = ex/norm(ex);
Rb = [cross(ex, e), ex, e];
Rb'*R*Rb
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:19 Sa 08.10.2011 | Autor: | ullim |
Hi,
die Matrix [mm] R_a [/mm] ist ja definiert als
[mm] R_a=R_1*R_2*R_3
[/mm]
die Matrix R durch
[mm] R=R_a^T*R_z*R_a
[/mm]
und die Matrix [mm] R_b [/mm] durch
[mm] R_b=\pmat{ e_x \times e & e_x & e } [/mm] mit [mm] e_x*e=0
[/mm]
Bezeichnet man die Spalten der Matrix [mm] R_a [/mm] mit x, y und e dann gilt [mm] R_a=\pmat{ x & y & e } [/mm] und x, y und e stehen senkrecht aufeinander da [mm] R_a [/mm] orthogonal ist.
Wegen [mm] R_a^T*R_b=\pmat{ x^T*(e_x \times e) & x^T*e_x & x^T*e \\ y^T*(e_x \times e) & y^T*e_x & y^T*e \\ e^T*(e_x \times e) & e^T*e_x & e^T*e } [/mm] sowie
[mm] e^T*(e_x \times [/mm] e)=0
[mm] e^T*e_x=0
[/mm]
[mm] e^T*e=1
[/mm]
[mm] x^T*e=0
[/mm]
[mm] y^T*e=0
[/mm]
und der Tatsache das [mm] R_a^T*R_b [/mm] eine orthogonale Matrix ist, ist [mm] R_a^T*R_b [/mm] eine Drehung um die z-Achse und ich bezeichne sie mit [mm] S_z, [/mm] also gilt
[mm] R_a^T*R_b=S_z
[/mm]
Jetzt kann man alles einsetzen und erhält für [mm] R_b^T*R*R_b^T [/mm] den Ausdruck
[mm] R_b^T*R*R_b^T=S_z^T*R_a^T*R*R_a*S_z=S_z^T*R_a^T*R_a*R_z*R_a^T*R_a*S_z=S_z^T*R_z*S_z=R_z
[/mm]
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:16 So 09.10.2011 | Autor: | Drno |
Vielen Dank, das hilft mir wirklich weiter.
Man kann jetzt auch gut sehen, dass man das Ra nicht eindeutig bestimmen kann. Es wird immer eine Rotation übrig bleiben.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:54 So 09.10.2011 | Autor: | ullim |
Hi,
das hängt wahrscheinlich damit zusammen, das die Vektoren, die senkrecht zu [mm] \overrightarrow{e} [/mm] gewählt wurden [mm] e_x [/mm] und [mm] \left(e_x \times e\right) [/mm] nicht eindeutig sind, sondern in der Ebene senkrecht zu [mm] \overrightarrow{e} [/mm] noch gedreht werden können.
|
|
|
|