GPU渲染过程
矩阵
什么是矩阵(Matrix)
向量
(3,9,88)
点乘:计算向量夹角
叉乘:计算两个向量构成平面的法向量。
矩阵
矩阵有3行,2列,所以表示为M32
获取固定元素M22,表示获取第二行,第二列元素。
向量和矩阵
行矩阵
=
列矩阵
=
矩阵实际上是一个数组存储(2维数组),向量也是一个数组(1维数组)
矩阵是有行(Row)和列(Column)之分
矩阵转置(行变列,列变行)
例:M= 转置后
=
矩阵乘法
矩阵和标量的乘法:矩阵的每个分量,乘以标量
例:=
M*X=
矩阵和矩阵乘法
限制条件:乘号左边的矩阵列数=乘号右边的矩阵行数
矩阵相乘得出的矩阵:左边矩阵的行数x右边矩阵的列数(x
=
)
矩阵相乘不满足交换律,满足结合律
交换律:3x4=4x3
结合律:3x4x5=(3x4)x5=3x(4x5)
矩阵运算
M1*M2 != M2*M1
M1*M2*M3=M1*(M2*M3)
矩阵运算公式
例: x
=
矩阵相乘技巧
1.新矩阵的每个元素编号列出
2.找到左边矩阵对应的行和右边矩阵对应的列,相乘再相加。
Unity向量乘以矩阵
当向量经过矩阵乘法后,我们可以理解为矩阵对向量进行了变换操作。
行矩阵与矩阵相乘: *
列矩阵与矩阵相乘: *
Unity矩阵与向量运算,普遍采用列矩阵右乘
特殊矩阵
方阵:行数与列数相同的矩阵,现阶段考虑2x2,3x3,4x4
对角:
对角线元素:方阵中,行数和列数相同的元素,就是对角线元素
非对角线元素:方阵中,除了对角线元素以外的所有其他元素
对角矩阵:非对角线元素为0,对角线元素是任意值的方阵
例:M=
数量矩阵:对角线元素相等的对角矩阵
例:M=
单位矩阵:对角线元素都为1的对角矩阵,单位矩阵乘以另一个矩阵,还是原来的矩阵
特性:单位矩阵乘以另一个矩阵,还是原来的矩阵
例:M=
逆矩阵
逆矩阵是基于方阵运算出来的
矩阵的行列式
由于计算逆矩阵时,行列式会作为除数。因为除法的除数不能为0,所以可以通过
计算矩阵的行列式,来判定矩阵是否存在逆矩阵。
行列式表示方式:假设有M矩阵,|M|表示M矩阵的行列式。
注意:行列式是一个标量
2x2矩阵的行列式
3x3矩阵的行列式
代数余子式计算
Cij=-1的i+j次幂*去掉第i行,和第j列组成的矩阵的行列式
计算每个分量的代数余子式,用于转置,再计算逆矩阵
标准伴随矩阵:代数余子式构成的矩阵再转置
逆矩阵计算公式
逆矩阵=标准伴随矩阵/行列式
逆矩阵的表示方法:假设有矩阵M,逆矩阵就是
特点:
逆矩阵的逆矩阵就是原始矩阵M=
单位矩阵的逆矩阵,就是单位矩阵本身
转置矩阵的逆矩阵,是你矩阵的转置=
两个矩阵相乘的逆矩阵等于后矩阵的逆矩阵乘以矩阵的逆矩阵
=
重要的几何含义:一个矩阵可以表示一个变换,而逆矩阵可以还原这个变换。
该系列专栏为网课课程笔记,仅用于学习参考。