0
Guten Tag,
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
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
Diese Frage melden
gefragt
user2063d4
Punkte: 10
Punkte: 10