4

カメラに対するオブジェクトの座標 X、Y、Z と向き Rx、Ry、Rz があるとします。さらに、世界でのこのカメラの座標 U、V、W と方向 Ru、Rv、Rw を持っています。

オブジェクトの位置 (位置と回転) をワールド内の位置に変換するにはどうすればよいですか?

私には根拠の変更のように聞こえますが、明確な情報源はまだ見つかりません。

4

2 に答える 2

3

実際には、2 つの基底があります。1 つはカメラに関連し、もう 1 つは絶対 (世界) です。したがって、基本的に相対データを絶対データに変換する必要があります。

位置

これが最も簡単です。ベクトル t(U,V,W) によって (X,Y,Z) 位置を変換する必要があります。したがって、絶対位置はすべて (Ax, Ay, Az) = (X,Y,Z)+t = (X+U,Y+V,Z+W) です。

オリエンテーション

これは少し難しいです。カメラを (0,0,1) から (Ru,Rv,Rw) に回転させる回転行列を見つける必要があります。(0,0,1) から (Ru,Rv,Rw) までの 2 つの回転を分解するには、基本回転行列を確認する必要があります(たとえば、X 軸に基づくもの、Z 軸に基づくもの)。絶対基底とベクトル (Ru,Rv,Rw) を紙に描くことをお勧めします。これが正しい結果を得る最も簡単な方法です。

したがって、2 つの基本的な回転行列 r1 と r2 があります。結果の回転行列 r = r1*r2 (または r2*r1、関係ありません)。したがって、オブジェクトの絶対方向は (ARx, ARy, ARz) = r*(Rx,Ry,Rz) です。

お役に立てれば !

于 2013-06-20T12:43:01.443 に答える