前言
Unity中Shader用到的矩阵加减法,以及矩阵的一些基础常识
一、什么是矩阵
矩阵就是一组数的阵列
1 2 3 4 5 6 \begin{matrix} 1&2&3 \\ 4&5&6 \end{matrix} 142536
二、矩阵的加法
两个矩阵相加就是两个矩阵的每个对应元素相加
两个矩阵相加的前提条件是他们的行列数必须一致
[
1
2
3
4
5
6
]
+
[
1
2
3
1
2
3
]
=
[
2
4
6
5
7
9
]
\begin{bmatrix} 1&2&3 \\ 4&5&6 \end{bmatrix} + \begin{bmatrix} 1&2&3 \\ 1&2&3 \end{bmatrix}= \begin{bmatrix} 2&4&6 \\ 5&7&9 \end{bmatrix}
[142536]+[112233]=[254769]
三、矩阵的负值
矩阵的负值就是对每个元素进行取负值
−
[
1
−
2
−
3
4
]
=
[
−
1
2
3
−
4
]
-\begin{bmatrix} 1&-2 \\ -3&4 \end{bmatrix}= \begin{bmatrix} -1&2 \\ 3&-4 \end{bmatrix}
−[1−3−24]=[−132−4]
四、矩阵的减法
两个矩阵相减就是两个矩阵的 每个对应的元素相减
矩阵的相减实际上是第一个矩阵加上第二个矩阵的负值
[ 1 2 3 4 5 6 ] − [ 1 2 3 1 2 3 ] = [ 0 0 0 3 3 3 ] \begin{bmatrix} 1&2&3 \\ 4&5&6 \end{bmatrix}- \begin{bmatrix} 1&2&3 \\ 1&2&3 \end{bmatrix}= \begin{bmatrix} 0&0&0 \\ 3&3&3 \end{bmatrix} [142536]−[112233]=[030303]
五、矩阵的表示
通常我们用大写的 A、B···等字母表示矩阵
A
11
表示第一行第一列的元素:
A
11
=
1
A_{11}表示第一行第一列的元素:A_{11} = 1
A11表示第一行第一列的元素:A11=1
A
21
表示第二行第一列的元素:
A
21
=
4
A_{21}表示第二行第一列的元素:A_{21} = 4
A21表示第二行第一列的元素:A21=4