数学基础-线性代数

decade
1
2026-03-10

数学基础(Godot Shader 前置)

本文只讲数学基础知识,用于理解 Godot Shader 学习前置内容;不涉及图形学推导与渲染细节。


1. 矩阵的基本概念(Shader——8.矩阵的基本概念)

概念

  • 矩阵是按行和列排列的数表,记作 A∈Rm×nA∈Rm×n

  • m×nm×n 表示 mmnn 列。

  • 元素通常记作 aijaij:第 ii 行第 jj 列。

关键性质

  • 维度相同的矩阵才能做加减法。

  • 矩阵与标量可做数乘。

  • 一般情况下,AB≠BAAB=BA

简短示例

A=[1234],B=[5678]A=[1324],B=[5768]

  • A+B=[681012]A+B=[610812]

  • 2A=[2468]2A=[2648]


2. 矩阵乘法(Shader——9.矩阵乘法)

概念

  • A∈Rm×nA∈Rm×nB∈Rn×pB∈Rn×p,则可定义乘积 C=AB∈Rm×pC=AB∈Rm×p

  • 元素计算:cij=∑k=1naikbkjcij=∑k=1naikbkj

关键性质

  • 乘法满足结合律:(AB)C=A(BC)(AB)C=A(BC)

  • 满足分配律:A(B+C)=AB+ACA(B+C)=AB+AC

  • 一般不满足交换律:AB≠BAAB=BA

在 Shader 中的常见约定(重点)

  • 通常更常见的是列向量写法:v′=Mvv′=Mv

  • 多个矩阵连乘时:v′=M3M2M1vv′=M3M2M1v

  • 对向量的实际作用顺序是 从右往左:先 M1M1,再 M2M2,最后 M3M3

简短示例

A=[1234],B=[2012]A=[1324],B=[2102]

AB=[1⋅2+2⋅11⋅0+2⋅23⋅2+4⋅13⋅0+4⋅2]=[44108]AB=[1⋅2+2⋅13⋅2+4⋅11⋅0+2⋅23⋅0+4⋅2]=[41048]


3. 特殊矩阵1(Shader——10.特殊矩阵1)

概念

常见基础特殊矩阵:

  • 零矩阵:所有元素都为 0。

  • 单位矩阵 InIn:主对角线为 1,其余为 0。

  • 对角矩阵:非对角元素为 0。

  • 标量矩阵λInλIn,即对角元素相同的对角矩阵。

关键性质

  • AIn=InA=AAIn=InA=A

  • 对角矩阵相乘仍为对角矩阵(同维度)。

  • 零矩阵与任意可乘矩阵相乘得到零矩阵。

简短示例

I3=[100010001],D=[2000−10004]I3=100010001​​,D=2000−10004​​


4. 特殊矩阵(Shader——11.特殊矩阵)

概念

  • 转置矩阵ATAT,行列互换。

  • 对称矩阵AT=AAT=A

  • 反对称矩阵AT=−AAT=−A

  • 可逆矩阵:存在 A−1A−1 使 AA−1=A−1A=IAA−1=A−1A=I

关键性质

  • (AT)T=A(AT)T=A

  • (AB)T=BTAT(AB)T=BTAT

  • AA 可逆,则 (A−1)−1=A(A−1)−1=A

  • (AB)−1=B−1A−1(AB)−1=B−1A−1(当 A,BA,B 都可逆)。

简短示例

A=[1225]⇒AT=AA=[1225]⇒AT=A

该矩阵是对称矩阵。


5. 特殊矩阵2:正交矩阵(Shader——12.特殊矩阵2 正交矩阵)

概念

  • 若方阵 QQ 满足 QTQ=QQT=IQTQ=QQT=I,则称 QQ 为正交矩阵。

  • 等价地,Q−1=QTQ−1=QT

关键性质

  • 正交矩阵的列向量(或行向量)两两正交且长度为 1。

  • 正交矩阵行列式为 +1+1−1−1

  • 正交变换保持向量内积与长度不变(纯数学性质)。

简短示例

Q=[0−110],QT=[01−10]Q=[01−10],QT=[0−110]

可验证 QTQ=IQTQ=I,因此 QQ 是正交矩阵。


6. 特殊矩阵2:行矩阵、列矩阵(Shader——13.特殊矩阵2 行矩阵、列矩阵)

概念

  • 行矩阵:只有 1 行,形如 1×n1×n

  • 列矩阵:只有 1 列,形如 n×1n×1

关键性质

  • 列矩阵常用于表示向量。

  • 行矩阵与列矩阵可做内积:(1×n)(n×1)→(1×1)(1×n)(n×1)→(1×1)

  • 列矩阵与行矩阵可做外积:(n×1)(1×n)→(n×n)(n×1)(1×n)→(n×n)

简短示例

r=[123],c=[456]r=[123],c=456​​

  • 内积:rc=1⋅4+2⋅5+3⋅6=32rc=1⋅4+2⋅5+3⋅6=32

  • 外积:

cr=[456][123]=[48125101561218]cr=456​​[123]=45681012121518​​


学习建议(仅数学方向)

  • 先掌握“维度检查”再做矩阵乘法。

  • 重点记忆:AB≠BAAB=BA(AB)T=BTAT(AB)T=BTAT、正交矩阵满足 Q−1=QTQ−1=QT

  • 在 Shader 学习中优先熟悉列向量写法与“右到左”的连乘作用顺序。

  • 通过 2×2、3×3 小矩阵手算,建立稳定的矩阵直觉。