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 回答