紙飛行機をモデルにしてクオータニオンで回転する様子をpython matplotlibで見てみます
クオータニオンを使って紙飛行機を回転
PaperAirplaneQuaternion
環境
Windows10
python3.9
numpy
Matplotlib
使い方
紙飛行機を回転させる関数
PaperAirplaneQuaternion(angle, order)
angleに目標とする姿勢のオイラー角[x,y,z]をセットて渡します
orderは回転順でXYZ,XZY,YXZ,YZX,ZXY,ZYXの種類の中から選択します
例
angle = [80.0, 120.0, 60.0] # 最終姿勢のオイラー角
order = EulerOrder.XYZ
PaperAirplaneQuaternion(angle, order)
オイラー角(angle)にX=80度、Y=120度、Z=60度回転するようにセットします
回転順(order)にXYZ順を指定します 回転順はEulerOrder列挙型で指定します
PaperAirplaneQuaternionを実行すると3次元のグラフが表示されて回転が始まります
説明
紙飛行機は各頂点の点を結んでポリゴンで表示しています
回転軸を中心にクオータニオンで回転する様子を確認できます
クオータニオンとオイラー角の計算
計算はこちらを参考にしました
回転行列、クォータニオン(四元数)、オイラー角の相互変換