我正在用 XNA (C#) 开发游戏,我想知道如何使用 2 个版本的转换。在我看来,这个函数的作用是:
(假设向量源自Matrix.Identity
)
Vector2 resultVec = Vector2.Transform(sourceVector, destinationMatrix);
用于位置向量转换。Vector2 resultVec = Vector2.TransformNormal(sourceVector, destinationMatrix);
用于转换速度矢量。
这是真的吗?谁知道详细的解释,请帮忙!
最佳答案
简单的答案是——
Vector2.Transform()
将整个 Matrix
应用于向量,同时
Vector2.TransformNormal()
仅将 Matrix
的缩放和旋转部分应用于矢量。
关于c# - XNA(C#) 中的 Vector2.Transform() 和 Vector2.TransformNormal() 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13188156/