这是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}[ac​bd​]
第一列 [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}[ac​bd​][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}[10​01​]单位矩阵,不进行任何操作
水平拉伸(因子 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}[k0​01​]若 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}[10​0k​]图形被纵向拉长
均匀缩放(因子 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}[s0​0s​]相当于乘以标量 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}[01​−10​]是正交变换,保持长度不变
θ 角度旋转绕原点逆时针旋转 θ 弧度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^​→[0−1​][ 1 0 0 − 1 ] \begin{bmatrix}1 & 0 \\ 0 & -1\end{bmatrix}[10​0−1​]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}[−10​01​]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}[10​11​]网格仍平行,但角度改变
投影到 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}[10​00​]非可逆变换,信息丢失
---

技能提升