2012-04-18 7 views
0

私は、クアルコムのAR SDKを使用してオブジェクトを追跡しています。 私は次の機能を利用できます:GLモデルビュー行列をワールド座標に変換する

https://ar.qualcomm.at/qdevnet/api(特に "Namespace List-> QCAR :: Tool"を見てください)。

私は追跡対象アイテムのポーズマトリックスを取得するので、convertPose2GLMatrix(const Matrix34F &ポーズ)関数を使用して、追跡対象アイテムのmodelviewマトリックスを取得できます。

私の目標 - 「現実世界」におけるマーカーの位置を特定することです。私のカメラは静止していると仮定できます。

私はオンラインで数多くの記事を読んでおり、私の一般的な理解はこれです: 私は軸の0,0,0点をどこから選んでモデルビュー行列を選ぶ必要がありますか?その点)。 その行列を転置する必要があります。次に、(4番目の項目を無視して)座標を得るために、各モデルビュー行列I抽出にその行列を掛け、次に(x、y、z、1)ベクトルを掛ける必要があります。

正しいですか?これは道のりですか?そしてもしそうでなければ - 何ですか?

答えて

1

私は1つの移動などのオルト行列を考えるために別の座標空間なので、何を示唆することは正しいです、まだ私はそれを他の方法で回避するだろう好き:

1)を参照座標系Sを使用します各お使いのカメラ(姿勢推定によって決定され、あなたの行列のすなわちちょうど1) 2)への相対姿勢推定T以下を計算する:

W = S * T^-1 = Sの*転置(T)

3.)行列Wから、世界座標として4列を選びます。

+0

こんにちはChristoperさん、残念ながら私の後続の質問にコメントができませんでしたので、以下の「回答」に追って質問を書いてみました。 –

+0

私の乗算機能にはエラーがあります。私はそれを修正し、結果を報告します:-) –

+0

ありがとう、私は行列の乗法を固定しました。最後の行(not column)は私に世界の座標を与えます。承認された回答をマークしました。 –

関連する問題