如何在任何编程语言中相乘两个三维矩阵

3

我想知道是否可以将两个三维矩阵相乘? 如果可以,如何相乘两个三维矩阵。 谢谢。


1
请查看:http://math.stackexchange.com/questions/63074/is-there-a-3-dimensional-matrix-by-matrix-product - Wajahat
谢谢。那非常有用! :) - Sai Kalyan
1个回答

1

好的,如果我们的矩阵是二维的,开始时简单一些:

[a11, a12, a13]
[a22, a22, a23]

a13是x轴平移,a23是y轴平移。

我们再加上一行[0, 0, 1],这样我们就有了:

[a11, a12, a13]
[a12, a22, a23]
[0  , 0  , 1  ]

我们对b矩阵采取类似的做法。现在对于结果中的第一个位置,我们沿着A向下走,沿着B向右走。最终得到...
[a11.b11+a12.b21, a11.b12+a12.b22, a11.b13+a12.b23+a13]
[a21.b11+a22.b21, a21.b12+a22.b22, a21.b13+a22.b23+a23]
[0              , 0              , 1                  ]

我们可以将这个3x3矩阵传递给其他函数,在渲染时只需忽略底行即可。3D矩阵只是这个想法的扩展,因此您的矩阵是4x4,底行为[0, 0, 0, 1]

还有一种用于表示3D空间方向的四元数。 - andrew pate

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接