-1
私はカメラを持っています。私はその3D位置と3D回転(度)を取得しました。座標系は次のとおりです。3D位置または回転からの方向ベクトルの取得
順序はXYZで、本来のものです。
- ピッチ
- ロール
- ヨー
(別名右/フロント/トップベクトル)
この情報を、どのように私は、フロントベクトルを計算することができますか?
私はカメラを持っています。私はその3D位置と3D回転(度)を取得しました。座標系は次のとおりです。3D位置または回転からの方向ベクトルの取得
順序はXYZで、本来のものです。
(別名右/フロント/トップベクトル)
この情報を、どのように私は、フロントベクトルを計算することができますか?
ヨー回転は、OY(垂直)軸を中心と
Cos(Pitch) 0 Sin(Pitch)
0 1 0
-Sin(Pitch) 0 Cos(Yaw)
ロール回転が約あるMY
Cos(Yaw) -Sin(Yaw) 0
Sin(Yaw) Cos(Yaw) 0
0 0 1
ピッチ回転はOZ軸の周りで、マトリックスを有している(正のCCW用)MPをマトリックス有しますOX軸を有し、行列を有するMR
1 0 0
0 Cos(Roll) -Sin(Roll)
0 Sin(Roll) Cos(Roll)
ここで、正しい順序で行列MP、MR、MYを掛けなければならない行列Mを得る。 順方向ベクトル - 乗算Mとベクトル[1、0、0]を見つける。上方向ベクトルを得るには、Mとベクトル[0,1,0]を掛けます。側方ベクトル - Mとベクトル[1、0、0]を乗算する。
右の行列の乗算の順序と最後の結果を確認できません。あなたがMapleのような記号的な数学ソフトウェアを持っているなら、それを試してみてください。
結果は、前方
X = Cos(Pitch) * Cos(Yaw)
Y = Sin(Pitch)
Z = Cos(Pitch) * Sin(Yaw)
とアップ(おそらく間違っている)のために、次のようになります
X = -Cos(Yaw) * Sin(Roll) - Sin(Yaw) * Sin(Pitch) * Cos(Roll)
Y = Sin(Yaw) * Sin(Roll) - Cos(Yaw) * Sin(Pitch) * Cos(Roll)
Z = Cos(Pitch) * Cos(Roll)
回転がどのように定義されるかを指定します。 – MBo
正しく更新されました。 –