回転を表すクォータニオンをある座標系から別の座標系に変換する 質問する

回転を表すクォータニオンをある座標系から別の座標系に変換する 質問する

私は、座標系 Y=上、X=右、Z=後方にあるセンサー データから四元数を取得しています。私の場合は、X=前、Y=右、Z=上です。

つまり、OX=Y、OY=Z、OZ=-X です。

四元数を 4by4 行列に変換できる関数がありますが、ここから何をすればよいのかわかりません。どなたか助けていただければ幸いです。

ベストアンサー1

[X, Y, Z, W] 形式の四元数は、軸角度回転に相当します。ここで、W は回転角度のみに依存し (軸には依存しません)、X、Y、Z は回転軸に sin(Angle/2) を掛けた値です。X、Y、Z にはこの特性があるため、3D 座標を変換する場合と同様に、これらを入れ替えたり反転したりすることができます。センサーの座標系から独自の座標系に変換するには、次のようにします。

MyQuat.X = -SensorQuat.Z
MyQuat.Y = SensorQuat.X
MyQuat.Z = SensorQuat.Y
MyQuat.W = SensorQuat.W

おすすめ記事