2012-01-27 14 views
6

Rotation(R)とTranslation(T)行列に関する質問があります。ロボットの位置を見つける。同じ平面上の2つのオブジェクトの回転行列と平行移動行列の距離計算

私は、カメラフレームに関して対象フレームのRとTを持ち、同じカメラに関する第2のオブジェクトのRとTを持っています。両方のオブジェクトが共通のサーフェス/プレーン上にある場合

質問#1 :(同じサーフェス/プレーン上にあります)これは、カメラを参照する両方のオブジェクトのRが同じであることを意味します。この仮定は正しいですか?

質問#2:変換行列を使用して、オブジェクト間の距離(たとえば、x軸またはy軸)を計算するにはどうすればよいですか?

Iは、1×3変換行列と3×3回転行列を有する=> I)が予め

おかげ2

+4

Rは、自身に関連するx、y、zのオブジェクトの回転を表します。カメラに関連する動きは訳です。両方のオブジェクトが同じ向きの場合、その回転は同じです –

+0

Plesar、あなたに助けがあれば回答を有効にしてください;) – vgonisanz

答えて

4

回答R及びTから4×4変換行列を派生: 翻訳ベクトル得られた場合ポイント2の位置をポイント1の位置に引くと、ユークリッド距離はリンクされた式hereに従います。

翻訳ベクトル(1と2の間)のsqrt(x^2 + y^2 + z^2)を(x、y、z)として計算する必要があります。ポイント座標。

つまり、euclidean normの翻訳ベクトルを計算する必要があります。

2つの翻訳ベクトル(各点に1つ)がある場合は、それらを減算し、結果のベクトルのユークリッド距離を計算します。

+0

Nice answer、thks – goe

4

1)そうです。 2つのオブジェクトが同じ座標系で参照され、それらが同じ平面(ベクトルビューが同じ)を持つ場合、強制的に同じRotation行列を持ちます。 回転行列がどのように構築されているかを知ることができますHERE。どのようにビルドされているかわからない場合は、非常にユーザーフレンドリーです。それは非常に良い例があります。 2)Euclidean distanceは、同じポイント(各オブジェクトの参照の中心)を使用して使用できます。それはtraslationと同じです。

覚えておいてください:すべての回転を行い、その後、トランスレーション。あなたが1度転がった場合、間違ってしまうでしょう。

希望すると助かります!

関連する問題