ich versuche gerade einen Vektor mithilfe von Quaternionen zu Drehen.
Jedoch Zeigt der Vektor am Ende in die entgegengesetzte Richtung. ( P'(0|0|-5) anstatt P'(0|0|5) )
Der Aufbau ist wie Folgt:
Ich möchte den Punkt P(5|0|0) um phi=90° um die Y-Achse drehen, so das er anschließend auf der Z-Achse liegt ( P'(0|0|5) ).
Dafür habe ich den Drehvektor v auf der Y-Achse (bzw. j-Achse) erstellt mit i=0, j=1, k=0 .
Der Punkt P als Quaternion wäre
Pq = (xi+yj+zk)
= 0i+5j+0k
= 5i
und das benötigte Quaternion zum Drehen wäre
q = a+bi+cj+dk
q = cos(phi/2) + sin(phi/2)*0i+ sin(phi/2)*j + sin(phi/2)*0k [da i, k = 0 ist, können die Teile gestrichen werden]
q = cos(phi/2) + sin(phi/2)*j
q = cos(phi/2) + sin(phi/2)*j
und anschließend als konjugierte
q'= cos(phi/2) - sin(phi/2)*j
Substitution:
cos(phi/2) = sin(phi/2) = S
P' = q * P * q'
= ( S + Sj ) * ( 5i ) * ( S - Sj )
= ( 5Si -5Sk ) * ( S - Sj )
= 5S²i - 5S²k - 5S²k - 5S²i
=-10S²k | Rücksubstitution
= -10 * ( sin(90/2))k
= -5k
Wieso komme ich am Ende auf -5k und nicht auf +5k?
Laut Google müsste die Drehung gegen den Uhrzeigersinn erfolgen.
Gruß Trox
Punkte: 10