# 矩阵 Matrix

# 是什么

是以行和列形式组织的矩形数字块。向量是标量的数组,矩阵则是向量的数组。表示形式:

# 四则运算

# 矩阵和标量的乘法




# 矩阵和矩阵的乘法

规则:一个r X n的矩阵A和一个n X c的矩阵B才能相乘。

两矩阵相乘如下:

其中Pij计算如下:

换一种思维即:使用前面矩阵的i行与后面矩阵j列做点乘即可获得结果的值

实例:


# 满足性质

  • A B != B A
  • A + B = B + A
  • (A + B) + C = A + (B + C)
  • r(A + B) = rA + rB
  • (r + s)A = rA + sA
  • A B C = A(B C)
  • (A + B)C = AC + BC

# 特殊矩阵

# 方块矩阵

是指那些行和列数目相等的矩阵。


# 单位矩阵

对角线都为1,其余为0.

性质:M I = I M = M


# 转置矩阵

矩阵A转置就是把行列交换,也就是沿着矩阵的对角线翻折,实例如下:

# 满足性质

  • 基本原理

  • 矩阵的转置再转置就是本身

  • 矩阵串接的转置,等于反向串接各个矩阵的转置


# 逆矩阵

只有方矩才有逆矩阵。简单来说,如果一个矩阵的行列式不为0,那么它就是可逆的。 并不是所有矩阵都有逆矩阵

# 满足性质

  • 逆矩阵的逆矩阵是原矩阵本身

  • 单位矩阵的逆矩阵是它本身

  • 转置矩阵的逆矩阵是逆矩阵的转置

  • 矩阵串接相乘后的逆矩阵等于反向串接各个矩阵的逆矩阵



# 正交矩阵

如果: 满足这个公式(交换也可)则说明该矩阵为正交矩阵。I为单位矩阵。

# 满足性质

  • 逆矩阵与转置矩阵相等
  • 矩阵的模为1或-1
  • 从几何的角度来看就是矩阵的每一列形成的向量都相互垂直或者是每一行形成向量都相互垂直。

# 变换

指的是我们把一些数据,如点、方向矢量甚至是颜色等,通过某种方式进行转换的过程。 变换的顺序是不能随意打乱,因为矩阵不存在交换律。


# 缩放

矩阵斜着对角线为缩放数据。推导原理,使用两个矩阵相乘即可验证。

2d缩放矩阵:

3d缩放矩阵:


# 旋转

# 2d旋转


矩阵:

推导原理:

假设向量a要旋转φ角度到向量b,且a向量本身距x轴有角度α:

xb = r cos(α + φ) = r cos α cos φ − r sin α sin φ

yb = r sin(α + φ) = r sin α cos φ + r cos α sin φ.
1
2
3

因为 xa = r cos α and ya = r sin α 所以

xb = xa cos φ − ya sin φ,
yb = ya cos φ + xa sin φ.
1
2

# 3d旋转

  • 绕x轴旋转:
  • 绕y轴旋转:
  • 绕z轴旋转:

# 平移

# 齐次坐标

为了统一使用矩阵相乘的方式表示变换。坐标w分量为1,对于矢量w分量为0。

具有特性

  • (x,y,z,1)
  • (kx,ky,kz,k)
  • (zx,zy,z*z,z)

以上三个都代表点(x,y,z)在3d场景中,当然这里乘上的系数不能为0。如k和z都不能为0。

# 2d平移

# 3d平移

上次更新: 12/22/2020, 10:02:08 PM