2

この関数に相当する C# XNA を探しているこの質問は、以下の投稿 (現在未回答) に関連しています。

世界の速度からローカルへ (船が後方に飛んでいる可能性があるため、世界の負の速度などが必要です)

私も抱えているこの問題は、上記の関数によって団結して簡単に解決されます。誰かがこの関数の背後にある数学コードを提供するか、同じ結果を達成する小さな関数を書くことができれば、その人はそうなるでしょう!!! 驚くばかり !!!私たちは何日もこの問題を解決しようとしてきました。

問題の詳細な説明については、上記の友人の投稿を参照してください。

よろしくお願いします<3

4

1 に答える 1

3

XNA で逆行列を取得し、次のようにして使用できます。

Matrix inverseMatrix = Matrix.Inverse(myMatrix);
Vector3 result = Vector3.Transform(myVector, inverseMatrix);

ただし、私の理解では、逆を取得するときに翻訳を無視する必要があります。したがって、方向のみが得られます (基本的に、これは回転、スケールなどを考慮します)。私はこれを自分でテストしていませんが、これはあなたが望むことをするはずだと思います:

Matrix copyOfMyMatrix = myMatrix;
copyOfMyMatrix.Translation = Vector3.Zero; // reset the translation components
Matrix inverseMatrix = Matrix.Inverse(copyOfMyMatrix);
Vector3 result = Vector3.Transform(myVector, inverseMatrix);
于 2013-07-01T04:58:36.400 に答える