← 目录Ch08 矩阵乘法
Ch08 几何变换

Geometric Transformations · 矩阵的动作,空间的舞蹈

🎮 矩阵 = 变换

每个矩阵都是一个「动作」

Ae₁Ae₂det(A) = 1.00✓ 保持方向
变换矩阵 A =
[1.00, 0.00]
[0.00, 1.00]
💡 关键洞察

矩阵的两列就是基向量 e₁、e₂ 变换后的位置!
第一列 = [1,0] 去哪了
第二列 = [0,1] 去哪了

🔄
旋转
det = 1,保面积
📐
缩放
det = sₓ × sᵧ
🪞
反射
det = -1,翻转
开篇
每个矩阵都是一个「动作」
🔑 核心洞察

矩阵的两列就是基向量变换后的位置:
• 第一列 = e₁ = [1,0] 去哪了
• 第二列 = e₂ = [0,1] 去哪了

📐 行列式的意义

det(A) = 面积缩放因子
• det > 0:保持方向
• det < 0:翻转方向
• det = 0:压扁(降维)

8.1 变换类型一览
🎯 目标:认识缩放、旋转、剪切、反射四种基本变换及其矩阵形式

🎮 变换类型画廊

点击选择变换类型,调节参数观察效果

变换矩阵
1.00
0.00
0.00
1.00
第1列 = e₁ 的像,第2列 = e₂ 的像
行列式
1.00
面积变化
1.00×
✅ 保持方向
Ae₁Ae₂
8.2 变换矩阵的理解
🎯 目标:通过调节矩阵元素,观察空间如何变形,理解「列向量 = 基向量的像」

🎮 变换矩阵实验室

直接编辑矩阵元素,观察变换效果

变换矩阵 A
[
]
■ 第1列 = Ae₁  ■ 第2列 = Ae₂
快速预设
det(A)
1.00
面积比
1.00×
可逆?
✓
💡 核心理解:矩阵的列向量决定了基向量的去向。● 红色箭头是 e₁ 变换后的位置(第1列),● 蓝色箭头是 e₂ 变换后的位置(第2列)。 橙色网格显示整个空间如何被扭曲。
8.3 变换的复合
🎯 目标:理解 AB 表示先做 B 再做 A(从右往左读),体验变换顺序的重要性

🎮 变换组合器

添加变换,观察它们如何从右往左依次作用

添加变换
变换序列 (从右往左执行)
1
旋转°
2
缩放×
组合矩阵
[1.30, -0.75; 0.75, 1.30]
完整变换
💡 关键理解:变换从右往左执行!序列 [T₁, T₂, T₃] 表示先 T₃,再 T₂,最后 T₁。 组合矩阵 = T₁ · T₂ · T₃(矩阵乘法顺序与执行顺序相反)。
8.4 行列式与面积
🎯 目标:观察行列式如何影响单位正方形的面积,理解 det = 0 意味着什么

🎮 行列式与面积

拖动列向量,观察行列式如何决定平行四边形的面积

列向量 v₁ = (1.0, 0.0)
列向量 v₂ = (0.0, 1.0)
行列式 det
1.00
平行四边形面积
1.00
✅ det > 0: 保持方向(逆时针)
计算公式
det = v₁ₓ·v₂ᵧ - v₁ᵧ·v₂ₓ
= 1.0×1.0 - 0.0×0.0
= 1.00 - 0.00 = 1.00
单位正方形v₁v₂1.00
💡 几何意义:2×2 矩阵的行列式 = 列向量围成的平行四边形面积(带符号)。 det > 0 表示 v₂ 在 v₁ 逆时针方向;det < 0 表示顺时针;det = 0 表示共线(面积为0)。
8.5 仿射变换
🎯 目标:理解 y = Ax + b,仿射 = 线性变换 + 平移

🎮 仿射变换实验室

仿射变换 = 线性变换 + 平移:y = Ax + b

线性部分 A(旋转、缩放、剪切)
平移部分 b
快速预设
仿射变换公式
y = Ax + b
[y₁] [1.0, 0.0] [x₁] [0.0]
[y₂] = [0.0, 1.0] [x₂] + [0.0]
📐 齐次坐标表示
[1.0, 0.0, 0.0]
[0.0, 1.0, 0.0]
[0, 0, 1]
用3×3矩阵统一表示仿射变换
原点平移: (0.0, 0.0)
💡 关键区别:线性变换保持原点不动,仿射变换允许平移。 图形学中常用齐次坐标将仿射变换统一为矩阵乘法形式。
本章小结
矩阵 = 变换,几何让代数可见
🔄
旋转
[cos,-sin; sin,cos]
det = 1
📐
缩放
diag(sₓ, sᵧ)
det = sₓsᵧ
📊
剪切
[1,k; 0,1]
det = 1
🪞
反射
[-1,0; 0,1]
det = -1

核心公式:

  • 变换复合:(AB)x = A(Bx),从右往左执行
  • 可逆条件:det(A) ≠ 0
  • 保面积:|det(A)| = 1

📚 下一章:Ch09 正交投影