三维线性变换

一、从二维到三维

二维的核心直觉——“矩阵的每一列 = 基向量的像”——原封不动推广到三维。

三维空间有三条标准基向量:

ı^=(100),ȷ^=(010),k^=(001)\hat{\imath} = \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}, \quad \hat{\jmath} = \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}, \quad \hat{k} = \begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix}

设线性变换把三个基向量分别送到:

T(ı^)=(adg),T(ȷ^)=(beh),T(k^)=(cfi)T(\hat{\imath}) = \begin{pmatrix} a \\ d \\ g \end{pmatrix}, \quad T(\hat{\jmath}) = \begin{pmatrix} b \\ e \\ h \end{pmatrix}, \quad T(\hat{k}) = \begin{pmatrix} c \\ f \\ i \end{pmatrix}

那么3×3 矩阵

M=(abcdefghi)M = \begin{pmatrix} \color{blue}{a} & \color{red}{b} & \color{green}{c} \\ \color{blue}{d} & \color{red}{e} & \color{green}{f} \\ \color{blue}{g} & \color{red}{h} & \color{green}{i} \end{pmatrix}
  • 第 1 列(蓝)= ı^\hat{\imath} 的像
  • 第 2 列(红)= ȷ^\hat{\jmath} 的像
  • 第 3 列(绿)= k^\hat{k} 的像

二、三维矩阵乘向量

任意向量 v=(x,y,z)T=xı^+yȷ^+zk^\mathbf{v} = (x, y, z)^T = x\hat{\imath} + y\hat{\jmath} + z\hat{k}

Mv=x(adg)+y(beh)+z(cfi)=(ax+by+czdx+ey+fzgx+hy+iz)M\mathbf{v} = x\begin{pmatrix} a \\ d \\ g \end{pmatrix} + y\begin{pmatrix} b \\ e \\ h \end{pmatrix} + z\begin{pmatrix} c \\ f \\ i \end{pmatrix} = \begin{pmatrix} ax + by + cz \\ dx + ey + fz \\ gx + hy + iz \end{pmatrix}

仍是”行 × 列”:结果第 ii 个分量 = 矩阵第 ii 行与向量逐项相乘相加。

三、三维空间中的”网格”

三维的”网格”是三维格子。线性变换把它变成平行六面体网格

  • 保持直线 ✅
  • 保持平行、等距 ✅
  • 原点不动 ✅

三维线性变换的直观效果:

变换矩阵(示例)效果
绕 z 轴旋转(cosθsinθ0sinθcosθ0001)\begin{pmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{pmatrix}绕 z 轴转动
x 方向缩放(200010001)\begin{pmatrix} 2 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}x 方向拉长 2 倍
沿 xy 平面剪切(101010001)\begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}按 z 值偏移

绕 z 轴旋转 θ 角

Rz(θ)=(cosθsinθ0sinθcosθ0001)R_z(\theta) = \begin{pmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{pmatrix}

验证ı^=(1,0,0)(cosθ,sinθ,0)\hat{\imath} = (1,0,0) \to (\cos\theta, \sin\theta, 0)——绕 z 轴旋转 θ 角后的 x 轴方向 ✓;k^=(0,0,1)(0,0,1)\hat{k} = (0,0,1) \to (0,0,1) 不变 ✓

四、三维中的复合变换

三维矩阵乘法规则与二维完全一样(行 × 列),且同样不满足交换律

M2M1M1M2(一般情况)M_2 M_1 \neq M_1 M_2 \quad \text{(一般情况)}

先作用的矩阵写在右边。例如”先绕 z 旋转再缩放”的复合矩阵 = (缩放矩阵)·(旋转矩阵)。

五、应用:为什么三维线性变换如此重要

领域应用
计算机图形学3D 物体的旋转、缩放、投影都靠 3×3 矩阵(加上齐次坐标处理平移)
机器人学机械臂末端位姿的变换矩阵
物理张量、转动惯量的坐标变换
机器学习神经网络每一层本质是”仿射变换”(矩阵乘法 + 偏置)

图形学的关键技巧:把一个物体的所有顶点先乘以”旋转矩阵”、再乘以”缩放矩阵”,可以预先合并成一个矩阵,再对每个顶点只做一次乘法——大幅提升渲染性能。

六、如何建立三维直觉(练习建议)

  1. 想象三个基向量 ı^,ȷ^,k^\hat{\imath}, \hat{\jmath}, \hat{k} 分别指向 x、y、z 轴正方向
  2. 给定一个 3×3 矩阵,先看它的三列,想象三个基向量分别”飞”到哪
  3. 想象整个三维网格跟随基向量变形
  4. 用”先作用的矩阵在右边”推导复合变换

小结

  • 三维有三条基向量 ı^,ȷ^,k^\hat{\imath}, \hat{\jmath}, \hat{k},3×3 矩阵的三列 = 三个基向量的像
  • 三维矩阵乘向量仍是行 × 列
  • 绕轴旋转、缩放、剪切都有对应的 3×3 矩阵
  • 复合变换:先右后左,不满足交换律
  • 三维线性变换是图形学、机器人、机器学习的基础

下一章进入 行列式,看线性变换如何改变面积(体积)。