科学と家事とプログラミング (python を中心に)

python 温度計測 湿度計測 DS18B20 USB9097

剛体回転に関するオイラーの定理は、絵的に理解したいのです

「剛体回転におけるオイラーの定理」について、 天球図を使った直感的な説明を紹介します。 代数的な説明だけだと、なんとなく分かった気がしない...という人におすすめです。

オイラーの定理

オイラーの名の付く定理や公式は、いくつもあって紛らわしいのですが、 その中の一つに「剛体回転におけるオイラーの定理」というのがあります。

【定理】 「点のまわりの回転変位は, その点を通る1つの軸のまわりの回転によって達せられる」

3次元座標の座標回転の言葉で言い直すと、

「原点まわりの任意の座標回転は、ある方向ベクトルを回転の軸とする1回の回転で達成できる」

1回の回転で変換を達成する回転の軸を「オイラー軸」あるいは「オイラー回転軸」と呼び、 その時の回転の角度を「オイラー回転角」と呼んだりします。

オイラー角」と名前が似てますが別物です。「オイラー角」が座標軸回りの3回の回転の組み合わせであるのに対して、「オイラー回転角」は任意方向回りの1回の回転です。

幾何学的な説明

f:id:sken20k:20180427211221j:plain

上の図は、座標系 X-Y-Z から X'-Y'-Z' への回転を表しています。 ひとまず Z を除いて、X と Y に注目した上で、回転軸の成分が保存される (回転軸とXの成す角は、回転軸とX'の成す角と等しい)ことに注目すれば、 回転軸の方向は、 X, X' を底辺とする二等辺(球面)三角形の頂点に存在するはずです。つまり、 X を X' に移す回転軸は X と X' の垂直二等分線のどこかに存在する(球面なので大円のどこか)。 同様に、Y を Y' に移す回転軸は Y と Y' の垂直二等分線のどこかに存在する(球面なので大円のどこか)。 これらを同時に満たす点は2つの大円の交点として求まるので、これを P とする。 (逆方向の解も存在するが、どちらを選んでも議論の一般性は失われないので見やすい方を選ぶ)。

これで、オイラー回転軸の候補 P が手に入りましたが、 X', Y' を同時に満たす回転(角度)が存在するかどうか分かりません。 以下、それを確認します。

XをX'に移す回転角をφx、YをY'に移す回転角をφyとする。 オイラーの定理が成り立つためには、φx とφy が一致すればよい。

Pの成分が座標回転に対して不変なので、 球面三角 P-X-Y と P-X'-Y' は合同であることが分かる。 Pを頂点とする角度から重なり部分を除いた角度がφxとφyなので、 φxとφyは確かに等しい。

Z, Z' についても同様の議論が成り立つ。

これで、オイラーの定例が成り立つことが確認できました。

代数的な説明

先に幾何学的な説明をしましたが、 オイラーの定理は代数的に説明されることの方が多いですね。 座標回転を表す行列の固有値固有ベクトルを使った議論は、 あいまいさなく簡潔に証明できるところが利点と思います。 こちらは、どの教科書にも載っているので説明は省略します。

おまけ

オイラーの定理の絵的な理解は、実践的(応用範囲が広い)知見と思います。 図解した教科書が少ない(気がするので)ここに紹介しました。