0

オブジェクトを取得して別の場所に配置する一連の変換があります。GL / ESのプログラム可能なパイプラインに対して、これらの変換を手動で乗算しています。離れた任意のポイントを中心に回転し、平行移動も行っています。オブジェクトを目的の場所に最終的に配置するのに問題はありませんが、これらの変換後にその位置の最終的な3Dベクトル座標を抽出する方法を知りたいです。

この質問で提案されている1つのオプションは、開始位置に最終行列を単純に乗算し、その結果ベクトルを最終座標として保持することです。もしそうなら、これらの変換の前にオブジェクトの原点を表すために使用するベクトルは何ですか?行列に原点(0,0,0)を掛けると、単純にゼロのベクトルになるためです。

4

1 に答える 1

0

解決策は驚くほど簡単です。

すべての行列の乗算によって作成された最終的な変換である行列がある場合M、次の方法で変換されたオブジェクトの中心を見つけることができますM

M * vector(0,0,0,1) // creates a 4D vector, where the first three, x,y,z are the coordinates

これは、コードで手動で簡単に実行できます。

質問に欠けていた重要な部分は、この乗算に使用する正確なベクトルでした。

于 2013-03-25T09:47:12.333 に答える