20221005 Zwei Rotationen dargestellt durch Quaternionen


Quaternion-Definition

Die Definition von Quaternion stammt aus dem Satz von Euler, q = [ cos ⁡ ( ϕ 2 ) , n sin ⁡ ( ϕ 2 ) ] \boldsymbol{q}=[\operatorname{cos}(\frac{\phi}{2 }) , \boldsymbol{n}\operatorname{sin}(\frac{\phi}{2})]Q=[ weil (2ϕ) ,NSünde (2ϕ)] wobein \boldsymbol{n}n ist die (Vektor-)Achse,ϕ \phiϕ ist umn \boldsymbol{n}Euler-Winkel von n .


Quaternion-Multiplikationsregel

Die spezifische Herleitung der Quaternion-Multiplikationsregel wird hier nicht angegeben. Das Verständnis besteht darin, zwei Rotationen durchzuführen. Die spezifische Regel lautet q ′ ⊗ q = [ q 0 ′ ∗ q 0 − qv ′ ⋅ qvq 0 ′ ∗ qv + q 0 ∗ qv ′ + qv ′ × qv ] \boldsymbol{q}'\otimes\boldsymbol{q} = \left[\begin{array}{l} q'_0*q_0- \boldsymbol q'_v \cdot \boldsymbol q_v\ \ q'_0*\boldsymbol q_v+q_0*\boldsymbol q'_v+\boldsymbol q'_v \times \boldsymbol q_v \end{array}\right]Q'Q=[Q0'Q0Qv'QvQ0'Qv+Q0Qv'+Qv'×Qv]


Rotation transformieren

Einer der Gründe, warum Leser über das Verständnis von Rotation verwirrt sind, ist, dass verschiedene Bücher unterschiedliche Rotationstransformationen verwenden.

Es gibt im Allgemeinen zwei Arten von Rotationstransformationen: (die zweite Art wird häufiger in Lagebeschreibungen verwendet)
1. Das Koordinatensystem bewegt sich nicht und der Vektor dreht sich
2. Der Vektor bewegt sich nicht und das Koordinatensystem dreht sich.


Ausführliche Erklärung:

1. Das Koordinatensystem bewegt sich nicht und der Vektor dreht sich.Für
den ersten Typ ist der Anfangsvektor r 0 \boldsymbol{r}_0R0, wird nach räumlicher Drehung zu r 1 \boldsymbol{r}_1R1, bezogen auf r 0 \boldsymbol{r}_0R0Rotiere auf r 1 \boldsymbol{r}_1R1Der Vorgang wird als Quaternion q \boldsymbol{q}q。则有vec ⁡ ( r 1 ) = q ∗ ⊗ vec ⁡ ( r 0 ) ⊗ q \operatorname{vec}(\boldsymbol{r}_1)=\boldsymbol{q}^*\otimes \operatorname{vec} (\boldsymbol{r}_0)\otimes \boldsymbol{q}Sache ( r1)=QSache ( r0)q展开可得
r 1 = ( ( q 0 2 − qv T qv ) I + 2 qvqv T + 2 q 0 qv × ) r 0 \boldsymbol{r}_1 = \left( (q_0^2-\boldsymbol{q }_v^T\boldsymbol{q}_v)\boldsymbol{I}+2\boldsymbol{q}_v \boldsymbol{q}_v^T + 2 q_0 \boldsymbol{q}_v^\times \right) \boldsymbol{ r}_0R1=( ( f02QvTQv) Ich+2 QvQvT+2 Q0Qv×)R0

2. Der Vektor bewegt sich nicht, und das Koordinatensystem rotiert
Für den zweiten Typ, den festen Vektor r \boldsymbol{r}Die Projektion von r in das anfängliche Koordinatensystem istrr \boldsymbol{r}^rRr , nachdem das anfängliche Koordinatensystem im Raum gedreht wurde, der feste Vektorr \boldsymbol{r}r wird in das neue Koordinatensystem alsrb \boldsymbol{r}^bRb , der Prozess der Rotation zu einem neuen Koordinatensystem basierend auf dem ursprünglichen Koordinatensystem wird ausgedrückt alsq \boldsymbol{q}q . Achten Sie auf zwei Punkte:1. Der Vektor hat sich nicht im Raum bewegt, aber das als Referenz verwendete Koordinatensystem hat sich geändert 2. Die Projektion, die wir zum Ausdruck bringen, ist nur eine mathematische Darstellung in verschiedenen Koordinatensystemen und bedeutet nicht, dass die Vektor hat sich bewegt.
vec ⁡ ( rb ) = q ⊗ vec ⁡ ( rr ) ⊗ q ∗ \operatorname{vec}(\boldsymbol{r}^b)=\boldsymbol{q}\otimes \operatorname{vec} (\boldsymbol{r}^ r)\otimes \boldsymbol{q}^*Sache ( rb )=QSache ( rr )Q展开可得
rb = ( ( q 0 2 − qv T qv ) I + 2 qvqv T − 2 q 0 qv × ) rr \boldsymbol{r}^b = \left( (q_0^2-\boldsymbol{q} _v^T\boldsymbol{q}_v)\boldsymbol{I}+2\boldsymbol{q}_v \boldsymbol{q}_v^T - 2 q_0 \boldsymbol{q}_v^\times \right) \boldsymbol{r }^rRB=( ( f02QvTQv) Ich+2 QvQvT2 Q0Qv×)RR

注:vec ⁡ ( r ) = [ 0 , r ] T \operatorname{vec}(\boldsymbol{r})=[0,\boldsymbol{r}]^TSache ( r )=[ 0 ,r ]T

Ich denke du magst

Origin blog.csdn.net/weixin_44382195/article/details/127173900
Empfohlen
Rangfolge