Unity Shader学习日记 part 2 线性代数--矩阵

矩阵的基础概念这里就不用说了。

先来看看矩阵的乘法

矩阵乘法

对于矩阵A*矩阵B有这样的要求

1.左边矩阵的(A)列数等于右边矩阵的(B)的行数

2.相乘的的结果是一个左边矩阵的(A)行数*右边矩阵(B)的列数的矩阵

3.相乘的时候,用左边矩阵(A)的每一行乘以右边矩阵(B)的每一列,然后相加

例子:

注意:

矩阵的相乘不满足交换律,A*B不等于B*A

矩阵的相乘满足结合律,A*(B*C)=(A*B)*C

特殊的矩阵

1.方块矩阵

方块矩阵:又称方阵,指行和列数量相等的矩阵,如3*3,4*4

2.对角矩阵

对角矩阵:只有主对角线上有值的方阵,其余地方为0。

主对角线:从左上角到右下角的对角线。

3.单位矩阵

单位矩阵:主对角线的值为1的对角矩阵

性质:任何矩阵M和单位矩阵I相乘的结果都是矩阵本身M(需要满足相乘规则)

4.数量矩阵

数量矩阵:主对角线的值是同一个值的对角矩阵

5.转置矩阵

转置矩阵:将矩阵的行和列互换后的矩阵(在右上角加T表示)

性质:

1.矩阵转置的转置等于原矩阵

2.矩阵串接的转置等于反向串接各矩阵的转置

6.逆矩阵

逆矩阵:逆矩阵是什么不重要,重要的是怎么求逆矩阵。逆矩阵通常在右上角加-1表示。需要注意的是并不是所有矩阵都有逆矩阵,有逆矩阵的矩阵,成为可逆的或非奇异的。没有逆矩阵的矩阵成为不可逆的或奇异的。

逆矩阵的求解

1.确定矩阵是否为方阵

2.求矩阵的行列式,行列式为0的矩阵不可逆(没有逆矩阵)

3.求矩阵的代数余子式矩阵

4.求标准伴随矩阵(代数余子式矩阵的转置)

5.逆矩阵(标准伴随矩阵/行列式)

1.行列式求解

口诀:左上左下画对角线,线上数字相互乘法,数量不够对面取,朝下相加,朝上相减

2.代数余子式的求解

计算规则:Cij=-1的i*j次幂乘以除去i行j列的剩下的矩阵

例子:

逆矩阵的性质

1.逆矩阵的逆矩阵等于原矩阵

2矩阵乘以自己的逆矩阵等于单位矩阵

3.单位矩阵的逆矩阵是它本身

4.转置矩阵的逆矩阵是逆矩阵的转置

5.矩阵串接相乘的逆矩阵等于反向串接各矩阵的逆矩阵相乘

6.逆矩阵可以计算矩阵变换的反向变换

7.正交矩阵

正交矩阵:如果一个方阵和他的转置矩阵相乘等于单位矩阵的话,则这个方阵就是正交矩阵。

而在学习逆矩阵的时候,逆矩阵有一个性质:矩阵和他的逆矩阵乘积等于单位矩阵

这就意味着,如果一个矩阵是正交矩阵,那么他的逆矩阵就是他的转置矩阵,同样的,他的转置矩阵也是他的逆矩阵

向量的点乘:A(x1,y1,z1) B(x2,y2,z2) A*B=x1*x2+y1*y2+z1*z2.

对于向量的点乘而言,如果点乘结果为0,那么这两个向量相互垂直,点乘实际上求的是一个向量在另一个向量上的投影。

如果向量和自己的点乘结果为1,那么这个向量是单位向量

回到正交矩阵。对于正交矩阵而言,矩阵正交,那么他的转置矩阵也是正交的

正交矩阵的性质:

1.正交矩阵的每一行(列)都是单位向量

2.正交矩阵的每一行(列),相互垂直

矩阵正交判断:

1.

2.对于n维向量(v1,v2,v3,...)而言,向量的模长|v|=(v1^2+v2^2+v3^2+.....+vn^2)=1

同时,矩阵的每一行(列)相互垂直

8.行矩阵与列矩阵

行矩阵:只有一行的矩阵

列矩阵:只有一列的矩阵

需要注意的是,在Unity中的使用规则:

在标准的线性代数中,矩阵与向量的相乘是按列相乘的,为了与标准数学和线性代数统一,也使用了按列计算的规则。说人话就是,在矩阵和向量的相乘中,把向量转为列矩阵进行计算

同样的也可以使用行矩阵,所以为了保持结果一致,有这样的规则

列:CBAv=C(B(Av)) == 行: vA(t)B(t)C(t)=(((vA(t))B(t))C(t) 使用转置矩阵

矩阵的作用主要是变换,之后会了解到。

那么矩阵的基础就先到这
相关推荐
Yuze_Neko7 分钟前
Unity有限制状态机FSM
unity·游戏引擎
Y1anoohh24 分钟前
驱动学习专栏--字符设备驱动篇--2_字符设备注册与注销
linux·c语言·驱动开发·学习
Wythzhfrey27 分钟前
单片机Day05---静态数码管
c语言·单片机·嵌入式硬件·学习·c#·51单片机
DXM05211 小时前
牟乃夏《ArcGIS Engine地理信息系统开发教程》学习笔记2
开发语言·javascript·笔记·学习·arcgis·ae
梦の2 小时前
C++Cherno 学习笔记day21 [86]-[90] 持续集成、静态分析、参数计算顺序、移动语义、stdmove与移动赋值操作符
c++·笔记·学习
娃娃略2 小时前
【AI模型学习】Moco(下)——巧妙的队列设计
人工智能·python·神经网络·学习·算法·机器学习
努力毕业的小土博^_^3 小时前
【EI/Scopus顶会矩阵】2025年5-6月涵盖统计建模、数智转型、信息工程、数字系统、自动化系统领域,硕博生执笔未来!
人工智能·深度学习·线性代数·计算机视觉·矩阵·自动化·媒体
Linux编程用C3 小时前
rust编程学习(二):复合数据类型
开发语言·学习·rust
非凡ghost4 小时前
MJ PDF汉化版:功能强大,阅读无忧
学习·智能手机·pdf·软件需求
LVerrrr4 小时前
Missashe考研日记-day21
学习·考研