四元数 1 / Quaternion 1

四元数。
四元数の演算。

四元数 / Quaternion

四元数の定義についてはこちら。

内積と外積

乗算。

\[
\begin{align*}
& (q_w + q_x i + q_y j + q_z k)(p_w + p_x i + p_y j + p_z k) \\[8pt]
& \begin{matrix}
= q_w p_w &+ q_w p_x i &+ q_w p_y j &+ q_w p_z k \\
+ q_x p_w i &+ q_x p_x i i &+ q_x p_y i j &+ q_x p_z i k \\
+ q_y p_w j &+ q_y p_x j i &+ q_y p_y j j &+ q_y p_z j k \\
+ q_z p_w k &+ q_z p_x k i &+ q_z p_y k j &+ q_z p_z k k
\end{matrix} \\[8pt]
& \begin{matrix}
= q_w p_w &+q_w p_x i &+q_w p_y j &+q_w p_z k \\
+ q_x p_w i &-q_x p_x &+q_x p_y i j &+q_x p_z i k \\
+ q_y p_w j &+q_y p_x j i &-q_y p_y &+q_y p_z j k \\
+ q_z p_w k &+q_z p_x k i &+q_z p_y k j &-q_z p_z
\end{matrix} \\[8pt]
& \begin{matrix}
= q_w p_w &+q_w p_x i &+q_w p_y j &+q_w p_z k \\
+ q_x p_w i &-q_x p_x &+q_x p_y k &-q_x p_z j \\
+ q_y p_w j &-q_y p_x k &-q_y p_y &+q_y p_z i \\
+ q_z p_w k &+q_z p_x j &-q_z p_y i &-q_z p_z
\end{matrix} \\[8pt]
& \begin{matrix}
= q_w p_w &-q_x p_x &-q_y p_y &-q_z p_z \\
+ q_x p_w i &+q_w p_x i &-q_z p_y i &+q_y p_z i \\
+ q_y p_w j &+q_z p_x j &+q_w p_y j &-q_x p_z j \\
+ q_z p_w k &-q_y p_x k &+q_x p_y k &+q_w p_z k
\end{matrix} \\[8pt]
& \begin{matrix}
= q_w p_w &-q_x p_x &-q_y p_y &-q_z p_z \\
+ q_w p_x i &+q_w p_y j &+q_w p_z k & \\
+ q_x p_w i &+q_y p_w j &+q_z p_w k & \\
+ q_x p_y k &-q_y p_x k & & \\
+ q_y p_z i &-q_z p_y i & & \\
+ q_z p_x j &-q_x p_z j & &
\end{matrix}
\end{align*}
\]

これで、ベクトルの内積と外積が出てきました。

内積については下記参照。
古典力学 9 (慣性モーメントテンソル)

外積については下記参照。
古典力学 3 (外積 / 回転の運動方程式)

Vector

下記は全てvectorです。aからeは全て実数とします。

\[
\begin{align*}
&(a)\\
&(a,b)\\
&(a,b,c)\\
&(a,b,c,d)\\
&(a,b,c,d,e)\\
\end{align*}
\]

回転 (積和とiとjとkを見えなくさせる準備)

Vector\((x,y)\)を原点を中心として反時計回りに\(\theta\)回転させること考えます。
回転

\[
\begin{bmatrix}
x’ \\
y’
\end{bmatrix}
=
\begin{bmatrix}
\cos\theta & -\sin\theta \\
\sin\theta & \cos\theta
\end{bmatrix}
\begin{bmatrix}
x \\
y
\end{bmatrix}
\]

ガウス平面上の複素数\((x,iy)\)を原点を中心として反時計回りに\(\theta\)回転させること考えます。

\[
\begin{gather*}
(\cos\theta+i\sin\theta)(x+iy) = (x\cos\theta-y\sin\theta) + i(x\sin\theta+y\cos\theta) = x’+iy’\\
x’+iy’ = (\cos\theta+i\sin\theta)(x+iy)
\end{gather*}
\]

ということで、複素数の積による回転と、行列とVectorによる回転の対応を見ることが出来ました。

特に複素数の「行列表現」という言葉はよく出てきます。

ほぼ全ての説明を省略して下記と説明される場合もあります。ひどい。

\[
a+ib\leftrightarrow
\begin{bmatrix}
\cos\theta & -\sin\theta \\
\sin\theta & \cos\theta
\end{bmatrix}
\]

複素数と行列の対応については整理することができます。

(良い書籍が見つかったら加筆します。)

Vector

\[
\begin{align*}
&\boldsymbol{q}_{v} = (q_x,q_y,q_z) \\
&\boldsymbol{q} = (q_w,\boldsymbol{q}_{v}) \\
&\boldsymbol{p}_{v} = (p_x,p_y,p_z) \\
&\boldsymbol{p} = (p_w,\boldsymbol{p}_{v}) \\
&\boldsymbol{qp} = (q_w p_w -\boldsymbol{q}_{v}\cdot\boldsymbol{p}_{v}, \;\; q_w\boldsymbol{p}_{v} + p_w\boldsymbol{q}_{v} + \boldsymbol{q}_{v}\times\boldsymbol{p}_{v})
\end{align*}
\]

行列

\[
\boldsymbol{qp}
=\begin{bmatrix}
q_w & -q_x & -q_y & -q_z \\
q_x & q_w & -q_z & q_y \\
q_y & q_z & q_w & -q_x \\
q_z & q_y & q_x & q_w
\end{bmatrix}
\begin{bmatrix}
p_w \\
p_x \\
p_y \\
p_z
\end{bmatrix}
\]

\[
\boldsymbol{qp}
=\begin{bmatrix}
p_w & -p_x & -p_y & -p_z \\
p_x & p_w & p_z & -p_y \\
p_y & -p_z & p_w & p_x \\
p_z & p_y & -p_x & p_w
\end{bmatrix}
\begin{bmatrix}
q_w \\
q_x \\
q_y \\
q_z
\end{bmatrix}
\]

ここでは\(\boldsymbol{q}\)と\(\boldsymbol{p}\)の積を\(\boldsymbol{qp}\)と記載します。
\(\boldsymbol{q} \otimes \boldsymbol{p}\)と記載される場合の方が多いです。
Hamilton Productです。

実部がゼロのときのHamilton Product(準備)

乗算。

\(q_w=0\)かつ\(p_w=0\)の場合を考えます。

\[
\begin{align*}
& (q_x i + q_y j + q_z k)(p_x i + p_y j + p_z k) \\[8pt]
&\begin{matrix}
=q_x p_x i i &+ q_x p_y i j &+ q_x p_z i k \\
q_y p_x j i &+ q_y p_y j j &+ q_y p_z j k \\
q_z p_x k i &+ q_z p_y k j &+ q_z p_z k k
\end{matrix} \\[8pt]
&\begin{matrix}
=-q_x p_x &+q_x p_y i j &+q_x p_z i k \\
q_y p_x j i &-q_y p_y &+q_y p_z j k \\
q_z p_x k i &+q_z p_y k j &-q_z p_z
\end{matrix} \\[8pt]
&\begin{matrix}
=-q_x p_x &+q_x p_y k &-q_x p_z j \\
-q_y p_x k &-q_y p_y &+q_y p_z i \\
q_z p_x j &-q_z p_y i &-q_z p_z
\end{matrix} \\[8pt]
&\begin{matrix}
=-q_x p_x &-q_y p_y &-q_z p_z \\
+q_x p_y k &-q_y p_x k & \\
+q_y p_z i &-q_z p_y i & \\
+q_z p_x j &-q_x p_z j &
\end{matrix} \\[8pt]
&=-(\boldsymbol{q}\cdot\boldsymbol{p})+\boldsymbol{q}\times\boldsymbol{p}
\end{align*}
\]

\[
\boldsymbol{q}\boldsymbol{p}=-(\boldsymbol{q}\cdot\boldsymbol{p})+\boldsymbol{q}\times\boldsymbol{p} \;\;\; (\text{if} \;\; q_w=0 \land p_w=0)
\]

加法定理(準備)

下記参照。
加法定理の証明 4
加法定理の証明 5

\[
\begin{align*}
\cos (\alpha + \beta) &= \cos \alpha \cos \beta -\sin \alpha \sin \beta \\
\sin (\alpha + \beta) &= \sin \beta \cos \alpha +\sin \alpha \cos \beta
\end{align*}
\]

\[
\begin{align*}
\cos (2\theta) &= \cos^{2}\theta -\sin^{2}\theta \\
\sin (2\theta) &= 2\sin\theta\cos\theta
\end{align*}
\]

外積(準備)

\[
\boldsymbol{a} \times \boldsymbol{b} =
\begin{pmatrix}
a_2 b_3 -a_3 b_2 \\
a_3 b_1 -a_1 b_3 \\
a_1 b_2 -a_2 b_1
\end{pmatrix}
=\begin{pmatrix}
(-b_2) a_3 -(-b_3) a_2 \\
(-b_3) a_1 -(-b_1) a_3 \\
(-b_1) a_2 -(-b_2) a_1
\end{pmatrix}
= -\boldsymbol{b} \times \boldsymbol{a}
\]

ベクトル三重積(準備)

\[
\begin{align*}
(\boldsymbol{a} \times \boldsymbol{b}) \times \boldsymbol{c}&=\begin{pmatrix}
(a_3 b_1 -a_1 b_3) c_3 -(a_1 b_2 -a_2 b_1) c_2 \\
(a_1 b_2 -a_2 b_1) c_1 -(a_2 b_3 -a_3 b_2) c_3 \\
(a_2 b_3 -a_3 b_2) c_2 -(a_3 b_1 -a_1 b_3) c_1
\end{pmatrix} \\[8pt]
&=\begin{pmatrix}
a_3 b_1 c_3 -a_1 b_3 c_3 -a_1 b_2 c_2 +a_2 b_1 c_2 \\
a_1 b_2 c_1 -a_2 b_1 c_1 -a_2 b_3 c_3 +a_3 b_2 c_3 \\
a_2 b_3 c_2 -a_3 b_2 c_2 -a_3 b_1 c_1 +a_1 b_3 c_1
\end{pmatrix} \\[8pt]
&=\begin{pmatrix}
\colorbox{yellow}{$a_3$} b_1 \colorbox{yellow}{$c_3$} -a_1 \colorbox{red}{$b_3 c_3$} -a_1 \colorbox{red}{$b_2 c_2$} +\colorbox{yellow}{$a_2$} b_1 \colorbox{yellow}{$c_2$} \\
\colorbox{yellow}{$a_1$} b_2 \colorbox{yellow}{$c_1$} -a_2 \colorbox{red}{$b_1 c_1$} -a_2 \colorbox{red}{$b_3 c_3$} +\colorbox{yellow}{$a_3$} b_2 \colorbox{yellow}{$c_3$} \\
\colorbox{yellow}{$a_2$} b_3 \colorbox{yellow}{$c_2$} -a_3 \colorbox{red}{$b_2 c_2$} -a_3 \colorbox{red}{$b_1 c_1$} +\colorbox{yellow}{$a_1$} b_3 \colorbox{yellow}{$c_1$}
\end{pmatrix} \\[8pt]
&=\begin{pmatrix}
a_3 b_1 c_3 -a_1 b_3 c_3 -a_1 b_2 c_2 +a_2 b_1 c_2 +a_1 b_1 c_1 -a_1 b_1 c_1 \\
a_1 b_2 c_1 -a_2 b_1 c_1 -a_2 b_3 c_3 +a_3 b_2 c_3 +a_2 b_2 c_2 -a_2 b_2 c_2 \\
a_2 b_3 c_2 -a_3 b_2 c_2 -a_3 b_1 c_1 +a_1 b_3 c_1 +a_3 b_3 c_3 -a_3 b_3 c_3
\end{pmatrix} \\[8pt]
&=\begin{pmatrix}
-a_1(b_1 c_1 +b_2 c_2 +b_3 c_3) +b_1(a_1 c_1 +a_2 c_2 +a_3 c_3) \\
-a_2(b_1 c_1 +b_2 c_2 +b_3 c_3) +b_2(a_1 c_1 +a_2 c_2 +a_3 c_3) \\
-a_3(b_1 c_1 +b_2 c_2 +b_3 c_3) +b_3(a_1 c_1 +a_2 c_2 +a_3 c_3)
\end{pmatrix} \\[8pt]
&= -\boldsymbol{a}(\boldsymbol{b} \cdot \boldsymbol{c}) + \boldsymbol{b}(\boldsymbol{a} \cdot \boldsymbol{c})
\end{align*}
\]

「ベクトル三重積 幾何学」などで検索して見つかる文献を読むと外積に対する理解が深まると思います。

回転 (クォータニオンによる回転)

理解の為にこれらの図が必要です。

微分や慣性モーメントテンソルなどと同様に、クォータニオンによる回転も最小の構成がかなり複雑です。

回転軸と同じ方向に正規化ベクトル\(\boldsymbol{n}\)を置きます。どちらも原点を通るとして、都合の良いところに原点をとります。
回す対象を位置ベクトル\(\boldsymbol{r}\)で表します。
\(\theta\,’\)だけ回した後の位置を位置ベクトル\(\boldsymbol{r}’\)で表します。

001

\(\boldsymbol{n}\)と同じ方向に\(\boldsymbol{r}_{n-parallel}\)を置きます。原点から回転が構成する円の中心までとします。
\(\boldsymbol{r}_{n-parallel}\)から\(\boldsymbol{r}\)に\(\boldsymbol{r}_{n-orthogonal}\)を置きます。

002

\(\boldsymbol{n} \times \boldsymbol{r}\)を登場させておきます。
回転が構成する円の半径と長さになり\(\boldsymbol{r}_{n-orthogonal}\)と直交します。

003

ADと直交するBCを引きます。
BCと\(\boldsymbol{n} \times \boldsymbol{r}\)は平行となります。

004

\(O\)→\(A\)→\(B\)→\(C\)と渡り\(\boldsymbol{r}’\)を目指します。

OA。

\[
\overrightarrow{OA} = \boldsymbol{r}_{n-parallel}
\]

AB。

\[
\begin{align*}
(Bのx) &= \|\overrightarrow{AC}\|\cos\theta\,’ = \|\overrightarrow{AD}\|\cos\theta\,’ \\
(Bのy) &= 0
\end{align*}
\]

\[
\begin{align*}
(Dのx) &= \|AD\| \\
(Dのy) &= 0
\end{align*}
\]

\[
\overrightarrow{AB} = \overrightarrow{AD}\cos\theta\,’
\]

BC。

\[
\begin{align*}
(Cのx) &= (Bのx) \\
(Cのy) &= \|\overrightarrow{AC}\|\sin\theta\,’ = \|\boldsymbol{n} \times \boldsymbol{r}\|\sin\theta\,’
\end{align*}
\]

\[
\begin{align*}
(\boldsymbol{n} \times \boldsymbol{r}のx) &= 0 \\
(\boldsymbol{n} \times \boldsymbol{r}のy) &= \|\boldsymbol{n} \times \boldsymbol{r}\|
\end{align*}
\]

\[
\overrightarrow{BC} = (\boldsymbol{n} \times \boldsymbol{r})\sin\theta\,’
\]

\(\boldsymbol{r}’\)。

\[
\boldsymbol{r}’ = \boldsymbol{r}_{n-parallel} + \boldsymbol{r}_{n-orthogonal}\cos\theta\,’ + (\boldsymbol{n} \times \boldsymbol{r})\sin\theta\,’
\]

ここから証明です。厳密にはやりません。とは言ってもかなり厳密です。

式の複雑を避けるために細工します。
\(\theta\,’=2\theta\)とします。

\[
\boldsymbol{r}’ = \boldsymbol{r}_{n-parallel} + \boldsymbol{r}_{n-orthogonal}\cos2\theta + (\boldsymbol{n} \times \boldsymbol{r})\sin2\theta
\]

以降、太字をやめます。
\(\boldsymbol{r}_{n-parallel} \to r_p\)とします。
\(\boldsymbol{r}_{n-orthogonal} \to r_o\)とします。

最後の式を意識して\(\cos\)を前に\(\sin\)を後ろにします。
単純にTeXの見た目が良いのでベクトルを前にスカラーを後ろに配置します。

\[
r’ = r_p + r_o\cos2\theta + (n \times r)\sin2\theta
\]

\(n\)と\(r\)のなす角を\(\angle nr\)で表すことにします。
\(n\)と\(r_o\)のなす角を\(\angle nr_o\)で表すことにします。(\(90^{\circ}\)です。)

\[
\|n\|\|r\|\sin(\angle nr) = \|n\|\|r_o\|\sin(\angle nr_o)
\]

方向も大きさも同じなので下記が成り立ちます。

\[
n \times r = n \times r_o
\]

\[
r’ = r_p + r_o\cos2\theta + (n \times r_o)\sin2\theta
\]


加法定理。

\[
\begin{align*}
r’ &= r_p + r_o(\cos^2\theta-\sin^2\theta) + (n \times r_o)2\cos\theta\sin\theta \\
&= r_p + r_o\cos^2\theta -r_o\sin^2\theta + (n \times r_o)2\cos\theta\sin\theta
\end{align*}
\]

\[
r’ = r_p + r_o\cos^2\theta -r_o\sin^2\theta + (n \times r_o)2\cos\theta\sin\theta
\]


ベクトル三重積。

\[
(n \times r_o) \times n = -n(r_o \cdot n) + r_o(n \cdot n)
\]

準備。

\[
\begin{align*}
n \cdot n &= \|n\|\|n\|\cos0^{\circ} = 1 \\
r_o \cdot n &= \|r_o\|\|n\|\cos90^{\circ} = 0
\end{align*}
\]

次の計算の通り整理されます。

\[
(n \times r_o) \times n = r_o
\]

\[
r’ = r_p + r_o\cos^2\theta -((n \times r_o) \times n)\sin^2\theta + (n \times r_o)2\cos\theta\sin\theta
\]


実部がゼロのときのHamilton Product。直交。

\[
(n \times r_o)n = -(n \times r_o) \cdot n + (n \times r_o) \times n
\]

準備。

\[
(n \times r_o) \cdot n = \|n \times r_o\|\|r_o\|cos90^{\circ} = 0
\]

次の計算の通り整理されます。

\[
(n \times r_o)n = (n \times r_o) \times n
\]

\[
r’ = r_p + r_o\cos^2\theta -((n \times r_o)n)\sin^2\theta + (n \times r_o)2\cos\theta\sin\theta
\]


ここで、\(a \times b = -b \times a\)だから下記が成り立つ。

\[
2(n \times r_o) = (n \times r_o) -(r_o \times n)
\]

\[
r’ = r_p + r_o\cos^2\theta -((n \times r_o)n)\sin^2\theta + ((n \times r_o) -(r_o \times n))\cos\theta\sin\theta
\]


実部がゼロのときのHamilton Product。直交。

\[
r_o n = -r_o \cdot n + r_o \times n
\]

準備。

\[
r_o \cdot n = \|r_o\|\|n\|cos90^{\circ} = 0
\]

次の計算の通り整理されます。

\[
r_o n = r_o \times n
\]

\[
\begin{align*}
r’ &= r_p + r_o\cos^2\theta -((n \times r_o)n)\sin^2\theta + ((n \times r_o) -(r_o \times n))\cos\theta\sin\theta \\
&= r_p + r_o\cos^2\theta -((n \times r_o)n)\sin^2\theta + (n \times r_o)\cos\theta\sin\theta -(r_o \times n)\cos\theta\sin\theta \\
&= r_p + r_o\cos^2\theta -((n \times r_o)n)\sin^2\theta + (n \times r_o)\cos\theta\sin\theta -(r_o n)\cos\theta\sin\theta
\end{align*}
\]

\[
r’ = r_p + r_o\cos^2\theta -((n \times r_o)n)\sin^2\theta + (n \times r_o)\cos\theta\sin\theta -(r_o n)\cos\theta\sin\theta
\]


因数分解。

\[
r’ = r_p + (r_o\cos\theta + (n \times r_o)\sin\theta)(\cos\theta -n\sin\theta)
\]


実部がゼロのときのHamilton Product。直交。

\[
n r_o = -n \cdot r_o + n \times r_o
\]

準備。

\[
n \cdot r_o = \|n\|\|r_o\|\cos90^{\circ} = 0
\]

次の計算の通り整理されます。

\[
n r_o = n \times r_o
\]

\[
\begin{align*}
r’ &= r_p + (r_o\cos\theta + (n r_o)\sin\theta)(\cos\theta -n\sin\theta) \\
&= r_p + (\cos\theta + n\sin\theta)r_o(\cos\theta -n\sin\theta)
\end{align*}
\]

\[
r’ = r_p + (\cos\theta + n\sin\theta)r_o(\cos\theta -n\sin\theta)
\]

\(r_o\)についての整理が完了。

式の見やすさの為に\(R_o\)として次に進みましょう。

\[
\begin{align*}
r’ &= r_p + R_o \\
&= r_p (\cos^2\theta + \sin^2\theta) + R_o \\
&= r_p \cos^2\theta + r_p \sin^2\theta + R_o
\end{align*}
\]


\(n\)と\(r_p\)の関係。

\[
\begin{align*}
&\text{if} \;\; n \cdot r_p + \|n\|\|r_p\|\cos0^{\circ} = \|r_p\| \;\;\; &&\text{then} \;\; r_p = \|r_p\|n \\
&\text{if} \;\; n \cdot r_p + \|n\|\|r_p\|\cos180^{\circ} = -\|r_p\| \;\;\; &&\text{then} \;\; r_p = -\|r_p\|n
\end{align*}
\]

\[
(n \cdot r_p)n = r_p
\]

\[
r’ = r_p \cos^2\theta + (n \cdot r_p)n \sin^2\theta + R_o
\]


ゼロを足します。

\[
r’ = r_p \cos^2\theta + ((r_p \cdot n)-(n \cdot r_p))\cos\theta\sin\theta + (n \cdot r_p)n \sin^2\theta + R_o
\]


実部がゼロのときのHamilton Product。平行。

\[
r_p n = -r_p \cdot n + r_p \times n
\]

準備。

\[
\begin{align*}
r_p \times n &= \|r_p\|\|n\|\sin0^{\circ} = 0 \\
r_p \times n &= \|r_p\|\|n\|\sin180^{\circ} = 0 \\
\end{align*}
\]

次の計算の通り整理されます。

\[
r_p n = -r_p \cdot n
\]

\[
\begin{align*}
r’ &= r_p \cos^2\theta + ((r_p \cdot n)-(n \cdot r_p))\cos\theta\sin\theta + (n \cdot r_p)n \sin^2\theta + R_o \\
&= r_p \cos^2\theta + (r_p \cdot n)\cos\theta\sin\theta -(n \cdot r_p)\cos\theta\sin\theta + (n \cdot r_p)n \sin^2\theta + R_o \\
&= r_p \cos^2\theta -(r_p n)\cos\theta\sin\theta -(n \cdot r_p)\cos\theta\sin\theta + (n \cdot r_p)n \sin^2\theta + R_o
\end{align*}
\]

\[
r’ = r_p \cos^2\theta -(r_p n)\cos\theta\sin\theta -(n \cdot r_p)\cos\theta\sin\theta + (n \cdot r_p)n \sin^2\theta + R_o
\]


因数分解。

\[
r’ = (r_p \cos\theta -(n \cdot r_p)\sin\theta)(\cos\theta -n\sin\theta) + R_o
\]


実部がゼロのときのHamilton Product。平行。

\[
n r_p = -n \cdot r_p + n \times r_p
\]

準備。

\[
\begin{align*}
n \times r_p &= \|n\|\|r_p\|\sin0^{\circ} = 0 \\
n \times r_p &= \|n\|\|r_p\|\sin180^{\circ} = 0 \\
\end{align*}
\]

次の計算の通り整理されます。

\[
n r_p = -n \cdot r_p
\]

\[
\begin{align*}
r’ &= (r_p \cos\theta + (n r_p)\sin\theta)(\cos\theta -n\sin\theta) + R_o \\
&= (\cos\theta + n\sin\theta)r_p(\cos\theta -n\sin\theta) + R_o
\end{align*}
\]

\[
r’ = (\cos\theta + n\sin\theta)r_p(\cos\theta -n\sin\theta) + R_o
\]

\[
\begin{align*}
r’ &= (\cos\theta + n\sin\theta)r_p(\cos\theta -n\sin\theta) + R_o \\
&= (\cos\theta + n\sin\theta)r_p(\cos\theta -n\sin\theta) + (\cos\theta + n\sin\theta)r_o(\cos\theta -n\sin\theta) \\
&= (\cos\theta + n\sin\theta)(r_p + r_o)(\cos\theta -n\sin\theta) \\
&= (\cos\theta + n\sin\theta)r(\cos\theta -n\sin\theta)
\end{align*}
\]

太字に戻します。

\[
\boldsymbol{r}’ = (\cos\theta + \boldsymbol{n}\sin\theta)\boldsymbol{r}(\cos\theta -\boldsymbol{n}\sin\theta)
\]

\(\boldsymbol{r}\)は回転させる前のベクトルでした。

下記とします。
(ベクトル表記は太字または矢印、クォータニオン表記は小文字とします。)

\[
p = (\cos\theta +\boldsymbol{n}\sin\theta)
\]

共役なクォータニオン。

\[
\overline{p} = (\cos\theta -\boldsymbol{n}\sin\theta)
\]

下記が得られます。

\[
p = (\cos\frac{1}{2}\theta\,’ +\boldsymbol{n}\sin\frac{1}{2}\theta\,’)
\]

\[
\overline{p} = (\cos\frac{1}{2}\theta\,’ -\boldsymbol{n}\sin\frac{1}{2}\theta\,’)
\]

\[
\boldsymbol{r}’ = p\boldsymbol{r}\overline{p}
\]

下記とします。

\[
q = (0 +\boldsymbol{r})
\]

\[
q’ = pq\overline{p}
\]

まとめ

凄い。
素晴らしい。

残念ながら、クォータニオンによる回転についてきちんと説明している日本語の文献は無いと思います。

広告

IT開発関連書とビジネス書が豊富な翔泳社の通販『SEshop』
さくらのレンタルサーバ
ムームードメイン
Oisix(おいしっくす)
らでぃっしゅぼーや
珈琲きゃろっと
エプソムソルト




«       »