几何学——矩阵的几何运算

发布于 2023-05-09 16:07:02

矩阵运算介绍

矩阵运算在图形学几何运算中占据重要的地位,常用来进行模型位置变换、坐标系变换等操作。接下来我们看一下矩阵都具有哪些运算方式。

矩阵加法与减法

两个具有相同行数和列数的矩阵可以相加,对应元素逐个相加。

[a11, a12] -  [b11, b12] =  [a11 - b11, a12 - b12]
[a21, a22] + [b21, b22] = [a21 + b21, a22 + b22]

矩阵乘法

如果一个矩阵A的列数等于另一个矩阵B的行数,那么它们可以相乘。矩阵乘法遵循“点乘”的原则,即A中每一行的元素分别与B中每一列的元素相乘后再求和。

数乘矩阵

矩阵 M 能和标量k 相乘,结果是一个和 M 维数相同的阵。阵和标相的记法如公式7.4 所示标量经常写在左边,不需要写乘号。这种乘法法则很直观,即用k乘以M 中的每个元素。

$$ k\mathbf{M}=k\left[\begin{array}{cccc}m_{1_{1}}&m_{1_{1}}&m_{3}\\ m_{1_{1}}&m_{2_{2}}&m_{3_{3}}\\ m_{3_{1}}&m_{3_{3}}&m_{3}\end{array}\right]=\left[\begin{array}{cccc}km_{1_{1}}&km_{1_{2}}&km_{1_{3}}\\ km_{1_{1}}&km_{2_{2}}&km_{3}\\ km_{3_{1}}&km_{2_{2}}&km_{3}\end{array}\right] $$

矩阵乘矩阵

矩阵A和B相乘。矩阵A的列数必须等于矩阵B的行数。可以看下面这个例子:

$$ C = AB = \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix} \begin{bmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{bmatrix} = \begin{bmatrix} a_{11}b_{11} + a_{12}b_{21} & a_{11}b_{12} + a_{12}b_{22} \\ a_{21}b_{11} + a_{22}b_{21} & a_{21}b_{12} + a_{22}b_{22} \end{bmatrix} $$

向量或者点乘矩阵

向量或者点乘矩阵仍然满足矩阵乘矩阵这一规律,向量的列数需要等于矩阵的行数。具体可以看下面这个例子:

$$ \begin{bmatrix}x & y & z\end{bmatrix} * \begin{bmatrix} c_{00}&c_{01}&{c_{02}}&c_{03}\\ c_{10}&c_{11}&{c_{12}}&c_{13}\\ c_{20}&c_{21}&{c_{22}}&c_{23}\\ \end{bmatrix} $$

冰哥说:行向量左乘矩阵时,结果是行向量,列向量右乘矩阵时,结果是列向。另外两种组合是不允许的,不能用行向量右乘矩阵,列向量左乘矩阵。这就证明了为什么webgl是列向量,需要右乘矩阵。

总结

矩阵运算其实并不难,你只需要拿出演草纸,手动算一下就非常容易理解。我们继续后面内容..

0 条评论

发布
问题