技 術 論 文

クォータニオン計算便利ノート
Handy Note for Quaternions

矢田部 学＊
Manabu Yatabe

クォータニオンは回転軸（ベクトル）と回転角（スカラー）よりなる４成分で３次元空間の回転を表現する。クォータニオン表現ではオイラー角による回転表現で生じるような特異点が存在しない。
そのため、宇宙・防衛分野における飛翔体の姿勢計算には、伝統的にクォータニオンが用いられてきた。また、最近では３次元コンピューターグラフィックの分野でも物体を表示するためにクォータニオンが使用されている。クォータニオンの定義には、大別すると二つの流儀がある。そのために時々混乱が生じる。本レポートでは飛翔体の姿勢計算に有用なクォータニオンの公式を整理する。
Quaternions describe rotations in the 3-dimensional space by using four components, which
consist of a rotation axis vector and an angle.The quantities can avoid such singularities as Euler
angles have.For that reason, the quaternion methods have been traditionally used for attitude
determinations of flying objects in aerospace and defense areas.Recently the quaternions are used in
3-dimensional computer graphics to represent objects.There are generally two different definitions of
the quaternions, which sometimes lead to confusion.We summarize useful formulas for the attitude
calculations of the fling objects in this report.

1．まえがき

技術資料や論文を読む際に便利なクォータニオンの公式に関する私的メモの一部を紹介する。

クォータニオンはアイルランドの数学者ハミルトン

2．記号（William Rowan Hamilton）により考案され、今日のベクトル解析に代わる手法として、19世紀の数理物理学で用いられた。当時の電磁気学に関する論文の多くはクォータニオンによる表現になっている （1）。20世紀になるとギブス（Josiah Willard Gibbs）によるベクトル解析

本レポートで使用する記号についてまとめる。
蘆ベクトル
ベクトルはボールド体で表し、とくに断りがない限り、その成分を添え字1,2,3で表す。例えばが主流となり、クォータニオン計算は少なくなった。筆者の知る限りでは、クォータニオン計算で記述されていと表記する。

る教科書は、堀による「天体力学講義（1988）」くらい

蘆クォータニオンである

クォータニオンは上にチルダをつけて表し、その成分。

（2）

クォータニオンはベクトル計算の代替手法として用いを0,1,2,3で表す。また、スカラー部に分けて表すこともある。例えばられることは少ないが、飛翔体の姿勢計算では頻繁に使用されるとベクトル部。これはオイラー角のような特異点（3）（4）（5）（6）が存在しない理由による。また、最近では３次元コンピと表記する。または、ベクトル部をューターグラフィックの分野でも物体を表示するためにスカラー部を、で表しクォータニオンが使用される（5）（7）。
以前、MSS技報でクォータニオンについての解説をと表記する。

試みた （8）。そのときは手元にある断片的な公式を整理蘆スカラー積して体系化することを目的とした。その後、いくつかの宇宙機の姿勢計算に関する業務を経験し有用な公式を再整理した。本レポートでは、飛翔体の姿勢計算に関する＊鎌倉事業部

第一技術部（博士（理学））

二つのベクトル と のスカラー積（内積）はドットで表す。
・MSS技報・Vol.18

29

技 術 論 文

クォータニオン積を行列で表記すると

蘆ベクトル積
二つのベクトルとのベクトル積（外積）はクロスで表す。
×3．クォータニオン（四元数）とは今日のベクトル解析では、ベクトルとの積の定義が二種類ある（ギブス流）：・ （スカラー積）および × （ベクトル積）
これらより、以下の積を定義する（ハミルトン流）：
盧となる。

この定義により二つのベクトルの積はスカラー部（− ・ ）とベクトル部（ × ）よりなる拡張された数になっている。この拡張された数をクォータニオン（quaternion）または四元数（しげんすう）という。なお、二つのベクトルの積は非可換である（
直交座標系
ぞれ 、、軸、軸、3.4ノルム

共役クォータニオンを用いるとノルムが定義できる。
クォータニオンのノルムは眇）。

軸の基底ベクトルをそれ二つのクォータニオン と についてとすると盧よりが成り立つので盪はスカラー部− ・ とベクトル

クォータニオン

ノルムは正の平方根なので眄部 × より成り立っている。
が成り立つ。
3.1

クォータニオン

スカラー部を、直交座標系でのベクトル部を3.5逆クォータニオン

ノルムを用いると逆クォータニオンとするとクォータニオンは蘯
ここで、眩とおいた。
を定義できる。この定義と眇より、3.2共役クォータニオン

クォータニオンのベクトル部の符号を反転したものを共役クォータニオンであり、確かには逆クォータニオンであることが分かる。また、の単位クォータニオンは共役が逆クォータニオンになる。という。
盻

3.3

3.6クォータニオン積

二つのクォータニオン との積は、盧より以下の回転を表すクォータニオン

単位ベクトルと回転角 として、以下の特別なクォータニオンを考える（図１参照）。

ようになる。

眤
このノルムは眈である。

このクォータニオンを用いて位置ベクトルと座標系の回転を表すことができる。（衢）座標系を空間に固定して位置ベクトルを回転する場合と（衫）点を空間に固定

これを、とのクォータニオン積（quaternion

して座標系を回転する場合の変換式を以下に示す（図２product）という。クォータニオン積はベクトル部とス参照）。

カラー部より構成されるから、クォータニオンである。

（衢）（位置ベクトルの回転）

眞

また、クォータニオン積は非可換である（（衫）（座標系の回転）眥30）。

となり、確かに座標系の回転を表している（図２参照）。

式眞を具体的に評価すると以下のようになる。
眦3.7

クォータニオン表現による変換行列

位置ベクトルまたは座標系を回転したときの変換行列
図３に示すような幾何学的な考察により、眞が位置ベクトルの回転を表すことが分かる。例えばの回転を考えて、軸まわりをクォータニオンの成分で表す。

（衢） 位置ベクトルの回転式眞より、および

眷を眞の右辺に代入するととして、クォータニオンの部分を展開すると、位置ベク
トル をに変換する行列は眸となり、これは位置ベクトルの回転を表している（図２参照）。
同様に、点を固定して座標系を回転する場合についてとなる。
（衫） 座標系の回転式眥を具体的に評価すると
眛

同様に、式眥より睇となる。式眦と眛の違いは右辺のベクトル積の順序である。この違いが効いて、例えば軸まわりの回転ではとして、座標系をに変換する行列は睚
式眸と睚より、し、は転置行列を意味する。また、列であるから3.8であることが分かる。ただとは直交行（単位行列）となる。

回転の合成

位置ベクトルまたは座標系に関して一連の回転を行ったときのクォータニオンと変換行列の合成について述べ
図１

回転を表すクォータニオン

図２る。

位置ベクトルの回転と座標系の回転の違い（２次元）

MSS技報・Vol.1831

技 術 論 文

図３

位置ベクトルの回転

時刻 のクォータニオン（衢） 位置ベクトルの回転が後にになったとすると、睨より回の位置ベクトルの回転を行うとき、式眞と眷よりが成り立つ。微小時間
クォータニオン角変換行列間の変化がまわりの微小によるものとすると

１回：
２回：
…

これらより回：なので、が成り立つ。ここで、なるクォータニオンについてとすると

睨睿なる変換行列について睫

ただし、となる。クォータニオンと変換行列の積の順序は同じである。
（衫）

とおいた。ここで、ベクトル座標系の回転位置ベクトルの回転のときと同様に考える。
座標系の回転と睇より回のとクォータニオンの積を盧に従って評価すると、睿はを行うとき式眥
なるクォータニオンについて

睾睛なる変換行列について睥となり、クォータニオンと変換行列の積の順序は逆である。となる。これは位置ベクトルが角速度で回転するときのクォータニオンの時間変化を表す。
（衫） 座標系の回転

3.9クォータニオンの時間微分式睛を用いると、時刻のクォータニオンはクォータニオンの時間微分について考える。
（衢） 位置ベクトルの回転32となり、（衢）と比較して積の順序が入れ代わる。同様

な手順で、座標系が角速度表１で回転するときのクォー

クォータニオンと複素数の対比タニオンの時間変化は以下のようになる。

クォータニオン

複素数

表記
共役

睹

ノルム
基底／虚数単位

3.10

4.2

複素数との対比

虚数単位を として、実部 、虚部 よりなる複素数
瞎

クォータニオン表現による変換行列（衢） 位置ベクトルの回転変換に対してと比較すると、クォータニオンは複素数の拡張である超複素数（hyper-complex number）とみなすことができる。
複素数との対比を考えるとクォータニオンの公式が理解しやすくなる。クォータニオンと複素数の対比を表１（衫） 座標系の回転変換に対して4.3クォータニオンの時間微分にまとめる。
4．もう一つの定義
これまで、蘯のようにスカラー部をトル部に続いてベク（衢） 位置ベクトルの回転を書いてのようにクォータニオンを表記した。クォータニオンの定義にはもう一つの流儀がある。それは、ベクトル部に続いてスカラー部を書いて（衫） 座標系の回転とする。
これまで３節で述べてきた公式は、として、行列表記の対応する成分を置き換えることにより成り立つ。以下に、成分で表記する際に混乱が起きやすい公式をまとめる。
4.1

クォータニオン積

5．むすび
飛翔体の姿勢計算で使用するクォータニオンの公式について整理した。クォータニオンの定義には、スカラー部とベクトル部の順序に二つの流儀がある。また、位置ベクトルを回転する場合と座標系を回転する場合では回転の符号が逆になる。このため、実作業において混乱が発生する。本レポートで整理した公式により、クォータニオン計算を行う際の混乱が減少するはずである。
参考文献
盧

太田浩一：マクスウェル理論の基礎―相対論と電磁気学，東京大学出版会，2002

盪堀源一郎：天体力学講義，東京大学出版会，

1988

MSS技報・Vol.18

33

技 術 論 文

蘯Wertz，J.R.：Spacecraft Attitude Determination
and Control，Kluwer，1978

盻

Goldstein，H.：Classical Mechanics（2nd ed.），Addison Wesley，1980

眈

Kuipers，J.B.：Quaternions and Rotation Sequences，Princeton Univ. Press，1999

眇狼嘉彰，冨田信之，中須賀真一，松永三郎：宇宙ステーション入門，東京大学出版会，2002
眄金谷一郎：3D-CGプログラマーのためのクォータニ
オン入門，工学社，2004

34

眩矢田部

学：四元数による回転表現，MSS技報，Vol.9，pp.13−18，1995