这是3Blue1Brown《线性代数的本质》系列核心的一集,聚焦于二维平面的变换。强烈建议视频和本文结合着一起理解。

1、如何理解线性变换

1.1 几何视角

想象在一个充满点的二维平面,线性变换是一套移动所有点的规则,但这个移动要遵守特定的规则:

  • 所有直线都应保持直线
  • 原点必须保持固定
  • 保持网格线平行且等距

线性变换会“线性地”扭曲(翻转、旋转、拉扯)这个网格,但不会弯曲直线或移动原点。

1.2 其它直观感受

比如有一张图片,对图片进行旋转、缩放处理。

2、矩阵

  • 二维空间中的任何线性变换,都可以通过观察基向量的变化来完全描述。
  • 当给出一个向量坐标时,线性变换后,如何算出这个向量的落点坐标。只要计算两个基向量i和j各自的落点,其它一切就推导得出。

矩阵推导过程:
在一个二维标准系中,基向量是i ^ \hat{i}i^j ^ \hat{j}j^
i ^ = [ 1 0 ] , j ^ = [ 0 1 ] \hat{i} = \begin{bmatrix} 1 \\ 0 \end{bmatrix},\quad \hat{j} = \begin{bmatrix} 0 \\ 1 \end{bmatrix}i^=[10],j^=[01]
现在有某种线性变换作用在整个空间上,我们记录基向量分别落在:
i ^ = [ a c ] , j ^ = [ b d ] \hat{i} = \begin{bmatrix} a \\ c \end{bmatrix},\quad \hat{j} = \begin{bmatrix} b \\ d \end{bmatrix}i^=[ac],j^=[bd]

把这两个新的基向量并排放在一起,就得到了描述这个变换的矩阵:
[ a b c d ] \begin{bmatrix} a & b \\ c & d \end{bmatrix}[acbd]
第一列 [a, c] 是新的i ^ \hat{i}i^的位置
第二列 [b, d]是新的j ^ \hat{j}j^的位置

线性变换的“动作说明书”。看到矩阵,不应该只看到一堆数字,而应该立刻在脑中浮现出它如何拉扯、旋转、挤压整个空间的动画。就是那么可以这么理解:矩阵

3、计算一个向量经过变换后的位置

通过现在已经知道变换后的基向量在哪,那么任何一个向量的变换结果都能够经过“线性组合”推导出来。

3Blue1Brown《线性代数的本质》线性组合、张成空间与基 中已知道:

i ^ \hat{i}i^j ^ \hat{j}j^这两个向量构成了坐标系的基。基向量是理解和测量向量世界的“根本单位”,任意二维向量[ x , y ] [x, y][x,y] 可写为:
x i ^ + y j ^ x\hat{i} + y\hat{j}xi^+yj^

线性的,它保持了加法和数乘的关系。因此,变换后的该向量就等于:就是由于变换
x * (新的i ^ \hat{i}i^) + y * (新的j ^ \hat{j}j^),那就是:
[ a b c d ] [ x y ] = x [ a c ] + y [ b d ] = [ a x + b y c x + d y ] \begin{bmatrix} a & b \\ c & d \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = x \begin{bmatrix} a \\ c \end{bmatrix} + y \begin{bmatrix} b \\ d \end{bmatrix} = \begin{bmatrix} ax + by \\ cx + dy \end{bmatrix}[acbd][xy]=x[ac]+y[bd]=[ax+bycx+dy]

4、常见的线性变换

变换类型几何效果基向量变化变换矩阵说明
恒等变换无任何改变,向量保持原位i ^ → [ 1 0 ] , j ^ → [ 0 1 ] \hat{i} \to \begin{bmatrix}1\\0\end{bmatrix},\ \hat{j} \to \begin{bmatrix}0\\1\end{bmatrix}i^[10],j^[01][ 1 0 0 1 ] \begin{bmatrix}1 & 0 \\ 0 & 1\end{bmatrix}[1001]单位矩阵,不进行任何操作
水平拉伸(因子 k)沿 x 轴拉伸 k 倍i ^ → [ k 0 ] , j ^ → [ 0 1 ] \hat{i} \to \begin{bmatrix}k\\0\end{bmatrix},\ \hat{j} \to \begin{bmatrix}0\\1\end{bmatrix}i^[k0],j^[01][ k 0 0 1 ] \begin{bmatrix}k & 0 \\ 0 & 1\end{bmatrix}[k001]若 k=2,则图形变宽一倍
垂直拉伸(因子 k)沿 y 轴拉伸 k 倍i ^ → [ 1 0 ] , j ^ → [ 0 k ] \hat{i} \to \begin{bmatrix}1\\0\end{bmatrix},\ \hat{j} \to \begin{bmatrix}0\\k\end{bmatrix}i^[10],j^[0k][ 1 0 0 k ] \begin{bmatrix}1 & 0 \\ 0 & k\end{bmatrix}[100k]图形被纵向拉长
均匀缩放(因子 s)整体放大或缩小 s 倍i ^ → [ s 0 ] , j ^ → [ 0 s ] \hat{i} \to \begin{bmatrix}s\\0\end{bmatrix},\ \hat{j} \to \begin{bmatrix}0\\s\end{bmatrix}i^[s0],j^[0s][ s 0 0 s ] \begin{bmatrix}s & 0 \\ 0 & s\end{bmatrix}[s00s]相当于乘以标量 s
90° 逆时针旋转所有向量逆时针转 90°i ^ → [ 0 1 ] , j ^ → [ − 1 0 ] \hat{i} \to \begin{bmatrix}0\\1\end{bmatrix},\ \hat{j} \to \begin{bmatrix}-1\\0\end{bmatrix}i^[01],j^[10][ 0 − 1 1 0 ] \begin{bmatrix}0 & -1 \\ 1 & 0\end{bmatrix}[0110]是正交变换,保持长度不变
θ 角度旋转绕原点逆时针旋转 θ 弧度i ^ → [ cos ⁡ θ sin ⁡ θ ] , j ^ → [ − sin ⁡ θ cos ⁡ θ ] \hat{i} \to \begin{bmatrix}\cos\theta\\\sin\theta\end{bmatrix},\ \hat{j} \to \begin{bmatrix}-\sin\theta\\\cos\theta\end{bmatrix}i^[cosθsinθ],j^[sinθcosθ][ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] \begin{bmatrix}\cos\theta & -\sin\theta \\ \sin\theta & \cos\theta\end{bmatrix}[cosθsinθsinθcosθ]旋转矩阵是标准公式
关于 x 轴反射上下翻转i ^ → [ 1 0 ] , j ^ → [ 0 − 1 ] \hat{i} \to \begin{bmatrix}1\\0\end{bmatrix},\ \hat{j} \to \begin{bmatrix}0\\-1\end{bmatrix}i^[10],j^[01][ 1 0 0 − 1 ] \begin{bmatrix}1 & 0 \\ 0 & -1\end{bmatrix}[1001]y 坐标取反
关于 y 轴反射左右翻转i ^ → [ − 1 0 ] , j ^ → [ 0 1 ] \hat{i} \to \begin{bmatrix}-1\\0\end{bmatrix},\ \hat{j} \to \begin{bmatrix}0\\1\end{bmatrix}i^[10],j^[01][ − 1 0 0 1 ] \begin{bmatrix}-1 & 0 \\ 0 & 1\end{bmatrix}[1001]x 坐标取反
剪切变换(Shear)水平“倾斜”i ^ → [ 1 0 ] , j ^ → [ 1 1 ] \hat{i} \to \begin{bmatrix}1\\0\end{bmatrix},\ \hat{j} \to \begin{bmatrix}1\\1\end{bmatrix}i^[10],j^[11][ 1 1 0 1 ] \begin{bmatrix}1 & 1 \\ 0 & 1\end{bmatrix}[1011]网格仍平行,但角度改变
投影到 x 轴所有点压到 x 轴上i ^ → [ 1 0 ] , j ^ → [ 0 0 ] \hat{i} \to \begin{bmatrix}1\\0\end{bmatrix},\ \hat{j} \to \begin{bmatrix}0\\0\end{bmatrix}i^[10],j^[00][ 1 0 0 0 ] \begin{bmatrix}1 & 0 \\ 0 & 0\end{bmatrix}[1000]非可逆变换,信息丢失