Rotation eines Vektors mit einem Quaternion und anschließender Translation |
| 08.12.2023, 10:34 | Rotator | Auf diesen Beitrag antworten » |
| Rotation eines Vektors mit einem Quaternion und anschließender Translation Hallo zusammen, ich stehe vor folgender Herausforderung. Ich habe zwei Objekte, A und B, die sich frei im R^3 translatorisch und rotatorisch bewegen können. Die beiden Objekte haben einen relativen Bezug zueinander und verändern ihren Abstand und Orientierung zueinander (vorerst) nicht. Von Objekt A kenne ich zu jedem Zeitpunkt meiner Betrachtung die x ,y und z-Koordinaten im R^3. Auch das Quaternion von Objekt A kenne ich zu jedem Zeitpunkt. Mein Ziel ist es, zu jedem Zeitpunkt meiner Betrachtung, die Koordinaten von Objekt B'? bestimmen zu können. Da sich Objekt A frei im Raum bewegen und rotieren kann, kenne ich die rotationsreihenfolge nicht, lediglich die Orientierung beschrieben durch das Quaternion (q = [w,x,y,z]) von Objekt A bzw. A? Ich habe mein Problem in der Abbildung versucht zu veranschaulichen. Meine Ideen: So bin ich vorgegangen: 1. Vektor zwischen AB bestimmen 2. Verschiebungsvektor AA'? bestimmen 3. Multiplikation des Quaternion von der neuen Lage von A'? (q = [w,x,y,z]) mit dem Vektor AB (AB = [0,x,y,z]) und dem konjugierten Quaternion (q_konjugiert = [w,-x,-y,-z]) (Meine Rechnung sah dann schematisch so aus: q_zwischenergebnis = q*AB -> vq = q_zwischenergebnis*q_konjugiert in dem Fall q=q1, AB=q2 bzw. q_zwischenergebnis = q1, q_konjugiert = q2 w1, x1, y1, z1 = q1 w2, x2, y2, z2 = q2 w = w1*w2 - x1*x2 - y1*y2 - z1*z2 x = w1*x2 + x1*w2 + y1*z2 - z1*y2 y = w1*y2 - x1*z2 + y1*w2 + z1*x2 z = w1*z2 + x1*y2 - y1*x2 + z1*w2) 4. Abschließend habe ich die Koordinaten von A' auf mein Ergebnis vq der Quaternion-Multiplikation aufaddiert um die neuen Koordinaten von B? zu erhalten. Ist das vorgehen so korrekt um an die Koordinaten von B'? zu kommen? Oder muss ich die Rotation noch anders berücksichtigen? Oder muss ich den Vektor AB anders darstellen mit den Skalaranteil von 1?! oder muss AB vielleicht normiert werden? |
||
|
|
Verwandte Themen
| Die Beliebtesten » |
|
| Die Größten » |
|
| Die Neuesten » |
|
