教科書から分かったところだけをまとめています。
教科書はこの本です。
前回分からなかった所はここ。
eの肩に行列がくる表現は、行列指数関数といってこの動画が分かりやすかったです。
肩に3x3の正方行列が乗っている時の
は、3x3の行列になります。肩の行列が4x4の場合は、4x4の行列になります。θはスカラーに注意してください。試験に出ます。
回転を行列指数関数で表す。
教科書p71の図3.11より。
点p(0)が、点p(θ)まで、ωを軸にθ回転する時を考えます。
最初見た時はなんだこれはと思いましたが、行列指数関数だと思うとふむふむって思います。
行列指数関数が上手いことsinとcosになります。
上手いことの計算は教科書をみてください。
これがロドリゲスの回転公式(Rodrigues' formula for rotations)です。
実際の計算例
教科書の図3.12から
フレームbが、ω=(0, 0.866, 0.5)を軸にθ=30°回転した時を考えます。ωは単位ベクトルになっています。もし、単位ベクトルでなかったら単位ベクトルにしてから計算します。
sin θ1はsin(30deg)なので0.5, (1-cos θ1)は0.134になります。 [ω1]を行列にするにはこのルールでOK。
手計算は間違えそうなので、この辺からPythonで計算してます。
import numpy as np I = np.identity(3) omega = np.array([ [0, -0.5, 0.866], [0.5, 0, 0], [-0.866, 0, 0] ]) R = I + np.sin(0.524) * omega + (1-np.cos(0.524)) * np.dot(omega, omega) print(R)
上で書いた式を展開すると、このような行列になります。
ちょっとTexで書く根性が無かったので教科書73ページの(3.52)から画像で持ってきました。