2019年11月23日土曜日

3つの単位ベクトルから回転行列を作る

MotionBuilderでゲームのコントローラーを使ってドローンのような飛行シミュレーターを作成している時に勉強した備忘録で、ドローンの各軸3つの単位ベクトルから姿勢を算出

ドローンの格軸を以下の図のように、

+Z軸が正面、+Y軸が上方向、+X軸が横方向としたときに各軸の単位ベクトルを以下のように定義します。



各軸の単位ベクトルが出来たら以下のように行列を作成する


上記の行列が回転行列になるようです。

この回転行列からオイラー角を算出してあげて姿勢を求めることが出来ます。
回転行列からオイラー角を算出する方法はこちらのサイトなどを参考に。

【行列計算のメモ】
(加算後のGblRot姿勢行列)=(GblRotの姿勢行列)*(現在のGblRotの姿勢行列)
(子供のGblRot姿勢行列)=(親のGblRotの姿勢行列)*(子供のLclRotの姿勢行列)

(減算後のGblRot姿勢行列)=(GblRotの姿勢行列の逆行列)*(現在のGblRotの姿勢行列)


0 件のコメント:

コメントを投稿