UnityShader学习笔记(三维数学知识)

三维坐标系

unity 矩阵变换的_unity 矩阵变换的

矩阵

unity 矩阵变换的_unity 矩阵变换的_02


方阵:nxn阶矩阵

对角矩阵:nxn阶所有非对角线元素都为零

单位矩阵,nxn阶所有非对角线元素为零,对角线元素为1

矩阵乘法

unity 矩阵变换的_unity 矩阵变换的_03


unity 矩阵变换的_缩放_04

矩阵乘法特点

unity 矩阵变换的_线性代数_05

unity 矩阵变换的_旋转矩阵_06

unity 矩阵变换的_线性代数_07

unity 矩阵变换的_旋转矩阵_08

unity 矩阵变换的_缩放_09

unity 矩阵变换的_unity 矩阵变换的_10

向量矩阵相乘

unity 矩阵变换的_缩放_11


unity 矩阵变换的_缩放_12


DX中是行向量

OpenGL中是列向量

旋转

二维旋转矩阵

unity 矩阵变换的_线性代数_13


三维绕X轴旋转矩阵

unity 矩阵变换的_缩放_14


三维绕Y轴旋转矩阵

unity 矩阵变换的_unity 矩阵变换的_15


三维绕Z旋转矩阵

unity 矩阵变换的_unity 矩阵变换的_16


三维绕任意n轴旋转矩阵

unity 矩阵变换的_unityshader_17

缩放

二维沿轴缩放矩阵

unity 矩阵变换的_旋转矩阵_18


三维沿轴缩放矩阵

unity 矩阵变换的_缩放_19


二维沿任意方向缩放矩阵

unity 矩阵变换的_旋转矩阵_20


三维沿任意方向缩放矩阵

unity 矩阵变换的_缩放_21

正交投影

向X轴投影

unity 矩阵变换的_旋转矩阵_22


向Y轴投影

unity 矩阵变换的_unityshader_23


向xy平面投影

unity 矩阵变换的_unity 矩阵变换的_24


向xz平面投影

unity 矩阵变换的_线性代数_25


向yz平面投影

unity 矩阵变换的_旋转矩阵_26


向任意直线投影的2D矩阵

unity 矩阵变换的_缩放_27


向任意平面投影的3D矩阵

unity 矩阵变换的_旋转矩阵_28

unity 矩阵变换的_缩放_29

切变

2D切变矩阵

unity 矩阵变换的_线性代数_30

unity 矩阵变换的_旋转矩阵_31


3D切变矩阵

unity 矩阵变换的_unityshader_32

行列式

二阶行列式

unity 矩阵变换的_旋转矩阵_33


三阶行列式

unity 矩阵变换的_unityshader_34


行列式性质

  1. 行列式与它的转置行列式相等
  2. 互换行列式两行(列),行列式变号
  3. 行列式的某一行(列)中所有元素都乘以同一数k,等于用数k乘此行列式
  4. 行列式中如果有两行(列)成比例,则此行列式等于零。
  5. 若行列式的某一行(列)的元素都是两数之和,那么可以拆分成两个行列式
  6. 把行列式的某一行(列)的个元素乘以同一数然后加到另一列(行)对应的元素上,行列式不变。

代数余子式

unity 矩阵变换的_unityshader_35


一个n阶行列式,如果其中第i行所有元素除(i,j)元aij外都是零,则这个行列式等于aij与它代数余子式的乘积。

unity 矩阵变换的_旋转矩阵_36


行列式等于它的任一行(列)的各元素与其对应的代数余子式乘积之和。

unity 矩阵变换的_旋转矩阵_37


逆矩阵

unity 矩阵变换的_缩放_38


逆矩阵的计算公式

unity 矩阵变换的_缩放_39


unity 矩阵变换的_旋转矩阵_40


正交矩阵

unity 矩阵变换的_线性代数_41

unity 矩阵变换的_缩放_42


正交矩阵满足条件:

矩阵的每一行都是单位向量。

矩阵的所有行互相垂直。

正交基:如果一组向量互相垂直,这组向量就被称作正交基。
标准正交基:如果一组向量互相垂直并且所有向量都是单位向量,则称标准正交基。

4x4阶平移矩阵

unity 矩阵变换的_unityshader_43


unity 矩阵变换的_unityshader_44

仿射变换

unity 矩阵变换的_缩放_45

透视投影

unity 矩阵变换的_unityshader_46


unity 矩阵变换的_线性代数_47

变换分类

unity 矩阵变换的_unity 矩阵变换的_48