5
大学数学基礎解説
文献あり

四元数による回転の記述

1843
0

3次元の回転変換を四元数で記述する方法を紹介します。なお、この内容は先日開催された 第3回すうがく徒のつどい の「四元数と回転」で話した内容の一部です。その際の 講演資料 では計算を省略しましたが、今回は計算も書きます。

四元数の定義

四元数

x0+x1i+x2j+x3kxiR)とあらわされる数を、四元数と呼びます。ここで、ijkは実数とは異なる数であり、次の関係式を満たすものです。四元数の虚数単位と呼ばれます。
i2=j2=k2=1ij=ji=k,jk=kj=i,ki=ik=j

四元数の乗法は非可換である点に注意してください。実数と実数の積や実数と虚数との積は可換です。しかし、虚数と虚数の積は可換とは限りません。

四元数x=x0+x1i+x2j+x3kに対して、四元数xを次で定義し、xの共役と呼びます。
x:=x0x1ix2jx3k

四元数x=x0+x1i+x2j+x3kに対して、実数|x|を次で定義し、xの大きさと呼びます。
|x|:=x02+x12+x22+x32

共役と大きさのあいだに次のような関係があります。これは実際に計算することで分かります。この関係は後で計算に使います。
xx=|x|2

四元数x=x0+x1i+x2j+x3ky=y0+y1i+y2j+y3kに対して、実数x|yを次で定義し、xyの内積と呼びます。
x|y:=x0y0+x1y1+x2y2+x3y3

共役と内積のあいだに次のような関係があります。これは実際に計算することで分かります。この関係は後で計算に使います。
xy+yx=2x|y

四元数と3次元空間の対応

純虚四元数

実部を持たない四元数、すなわち次の形の四元数を純虚四元数と呼びます(xiR)。
x1i+x2j+x3k

純虚四元数と3次元ベクトル空間のベクトルを、次のように対応させます。
x1i+x2j+x3k(x1,x2,x3)

純虚四元数x=x1i+x2j+x3ky=y1i+y2j+y3kに対して、純虚四元数x×yを次で定義し、xyの外積と呼びます。
x×y:=(x2y3x3y2)i+(x3y1x1y3)j+(x1y2x2y1)k
これは3次元ベクトル空間の外積と対応しています。

純虚四元数xyの積は内積と外積であらわすことができます。これは実際に計算することで分かります。
xy=x|y+x×y
この関係から次が導けます。これは後で計算に使います。
xyyx=2(x×y)

四元数による回転

四元数を使って、3次元空間の回転を次のように記述できます。

四元数による回転

大きさ1のベクトルnがあるとします。点Xnの周りに角θだけ回転した点をXとします。Xの位置ベクトルに対応する純虚四元数をxXの位置ベクトルに対応する純虚四元数をxとするとき、次が成り立ちます。
x=qxq
ただし、qは次の四元数です(nnに対応する純虚四元数)。
q=cosθ2+(sinθ2)n

なお、qは大きさ1の四元数です。実際、n=n1i+n2j+n3kとすると、次のようになります。
|q|=(cosθ2)2+(sinθ2)2(n12+n22+n32)=(cosθ2)2+(sinθ2)2=1

ロドリゲスの回転公式への帰着

「四元数による回転」の定理の証明ですが、実は「 ロドリゲスの回転公式 」に帰着できます。

qxqを計算すると、実は次のようになります。
qxq=(cosθ)x+(1cosθ)n|xn+sinθ(n×x)

この右辺を、四元数と3次元空間の対応を考えてベクトルの記述にすれば次のようになります。
cosθx+(1cosθ)n|xn+sinθ(n×x)

これは、「ロドリゲスの回転公式」そのものです。したがって、「四元数による回転」の定理が証明できます。

あとは、qxqの計算結果が確かに上述のとおりであることを示せば証明が完了します。

四元数による回転の証明

qの実部をq0、虚部(純虚四元数部)をq1とすると、次のように展開できます。
qxq=(q0+q1)x(q0q1)=q0xq0+(q1xq0q0xq1)q1xq1
これを、各項ごとに計算していきます。

q0xq0の部分は次のようになります。
q0xq0=(cosθ2)x(cosθ2)=(cosθ2)2x

q1xq0q0xq1の部分は次のように計算できます。
q1xq0q0xq1=(sinθ2)nx(cosθ2)(cosθ2)x(sinθ2)n=(cosθ2)(sinθ2)(nxxn)=2(cosθ2)(sinθ2)(n×x)=sinθ(n×x)
途中で、純虚四元数の外積の関係式を使いました。また、最後の変形は2倍角の公式sin2ϕ=2cosϕsinϕを使いました。

q1xq1の部分は次のようになります。
q1xq1=(sinθ2)nx(sinθ2)n=(sinθ2)2nxn

ここで、四元数の内積の関係式から次が分かります。
2n|xn=(nx+xn)n=nxn+xnn=nxn+x|n|2=nxn+x
ここから、nxn=x2n|xnが分かります。よって、次のようになります。
q1xq1=(sinθ2)2(x2n|xn)

以上から、qxqは次のようになります。
qxq=q0xq0+(q1xq0q0xq1)q1xq1=(cosθ2)2x+sinθ(n×x)(sinθ2)2(x2n|xn)=((cosθ2)2(sinθ2)2)x+2(sinθ2)2n|xn+sinθ(n×x)=(cosθ)x+(1cosθ)n|xn+sinθ(n×x)
最後の変形は2倍角の公式cos2ϕ=(cosϕ)2(sinϕ)2と半角の公式(sinθ2)2=1cosθ2を使いました。

これで、無事に四元数による回転の式をロドリゲスの回転公式に帰着させて証明できました。

参考文献

[1]
松岡学, 数の世界 自然数から実数、複素数、そして四元数へ, ブルーバックス, 講談社, 2020
[2]
矢野忠, 四元数の発見, 海鳴社, 2014
[3]
今野紀雄, 四元数, 森北出版, 2016
[4]
金谷健一, 3次元回転 パラメータ計算とリー代数による最適化, 共立出版, 2019
投稿日:202256
更新日:202419
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

usami
usami
10
3333

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 四元数の定義
  2. 四元数と3次元空間の対応
  3. 四元数による回転
  4. ロドリゲスの回転公式への帰着
  5. 四元数による回転の証明
  6. 参考文献