PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Drehwinkelnberechnung mit Quaternionen



Oumsalma Bernoussi
16.06.2011, 18:09
Ich möchte die Drehwinkel eines Tri-axial-Goniometers rechnen und das durch die Quaternion. die untere Matrix beschreibt ist die multiplikation von Drei quaternionen in 3 Richtungen : X,Yund Z. und darauss möchte ich die 3 winkeln rechnen. meine idee ist durch die Atan2 es zu bestimmen. aber ich brauche hilfe damit weiter machen kann.
Danke.

Q=
[ cos(α/2)·cos(β/2) · cos(γ/2) + sin(α/2) · sin(β/2) · sin(γ/2)
cos(α/2) · cos(β/2) · sin(γ/2) − sin(α/2) · sin(β/2) · cos(γ/2)
cos(α/2) · sin(β/2) · cos(γ/2) + sin(α/2) · cos(β/2) · sin(γ/2)
sin(α/2) · cos(β/2) · cos(γ/2) − cos(α/2) · sin(β/2) · sin(γ/2) ]

mare_crisium
17.06.2011, 03:12
Oumsalma,

guckst Du hier:

http://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles

Die gesuchte Formel steht ganz unten ;-).

Ciao

mare_crisium

Oumsalma Bernoussi
17.06.2011, 21:33
Ich kenne diese Definition. aber die haben es gelöst nach dem kofizientenvergleich zwischen die beden Matrizen. Aber ich möchte es direkt aus den erwähnten obigen 4x1 matrix lösen.

Also wenn man die q0,q1,q2,q3 hat, kann man weiter die matrix umformen und die 3 Winkeln rechnen.
Danke

mare_crisium
19.06.2011, 11:37
Oumsalma,


meiner Meinung nach kann man die Eulerschen Winkel aus den vier Komponenten des Quaterinons nicht berechnen.


Die Begründung geht so: Von den 4 Gleichungen, die die Komponenten liefern, sind nur 3 von einander unabhängig, die vierte ergibt sich aus der Normierung. Zum Bestimmen der drei Winkel muss man von jedem Winkel den Wert der einen Winkelfunktion (z.B. des Sinus) berechnen und das Vorzeichen der jeweils anderen (z.B. das Vorzeichen des Cosinus). Der Wert der Winkelfunktion liefert den Wert des Winkels zwischen -90° und 90° bzw. 0° und 180°. Zusammen mit dem Vorzeichen der jeweils anderen Winkelfunktion kann man dann auch sagen, in welcher Halbebene der Winkel liegt.


Wenn die drei Gleichungen (z.B. die für q1, q2 und q3) reine, lineare Gleichungen der Winkelfunktionen wären (z.B. qx = A cos(a/2) +B cos(b/2) + C cos (g/2) ), dann wäre es möglich, Lösungen z.B. für den Cosinus jeden Winkels zu finden; aber für das Vorzeichen des Sinus reichten sie nicht aus. Tatsächlich sind die drei Gleichungen aber nicht lineare Funktionen der Unbekannten und deswegen klappt noch nicht einmal die Berechnung je einer Winkelfunktion von dem Winkel.


Das ist der Grund, weshalb man hier die Methode des Koeffizientenvergleichs nehmen muss.


Ciao,


mare_crisium