C#中的矩阵乘法方法

时间:2010-01-12 18:37:41

标签: c# matrix

我真的不太了解C#中的方法Matrix.Multiply(Matrix m)。

假设我有2个矩阵。 1矩阵在世界空间中,1个矩阵在局部空间中,现在我想将世界空间转换为局部空间或从局部空间转换到世界空间,我应该用乘法方法做什么?

Matrix world = ....

Matrix local = ...

world.Multiply(local) 
// It means world*local or local*world and it will transform world space to 
// local or from local to world space?

提前感谢。

1 个答案:

答案 0 :(得分:3)

如果要将一个矩阵转换为另一个矩阵,则不希望将矩阵相乘。您希望找到将乘以乘以从一个到另一个的矩阵。基本上,你想要解决这个等式:

W * X = L

W是您的世界矩阵,L是您的本地矩阵。您正在寻找矩阵X。解决X

W * X * 1/L = I 

其中I是单位矩阵,1/LL的倒数所以:

X = 1/W * L

请注意,矩阵乘法可交换,因此W * L通常与L * W不同。