如何以任何编程语言将两个3D矩阵彼此相乘

问题描述 投票:2回答:1

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

3d matrix-multiplication
1个回答
1
投票

如果我们的矩阵是OK,则从2D开始简单

[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]

© www.soinside.com 2019 - 2024. All rights reserved.