LoginSignup
0
0

More than 1 year has passed since last update.

3D空間で紙飛行機を回転(クオータニオン)

Last updated at Posted at 2022-02-24

紙飛行機をモデルにしてクオータニオンで回転する様子をpython matplotlibで見てみます

クオータニオンを使って紙飛行機を回転
PaperAirplaneQuaternion
Quaternion400.gif

環境

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次元のグラフが表示されて回転が始まります

説明

紙飛行機は各頂点の点を結んでポリゴンで表示しています
回転軸を中心にクオータニオンで回転する様子を確認できます

クオータニオンとオイラー角の計算

計算はこちらを参考にしました
回転行列、クォータニオン(四元数)、オイラー角の相互変換

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0