这是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}[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}[100−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}[−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] | 非可逆变换,信息丢失 |
浙公网安备 33010602011771号