3Blue1Brown《线性代数的本质》矩阵与线性变换

这是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] 非可逆变换,信息丢失
相关推荐
不解风水18 小时前
【教程笔记】KalmanFilter
笔记·学习·算法·矩阵·ekf
CreasyChan1 天前
unity矩阵与变换 - “空间转换的魔术”
unity·矩阵·c#·游戏引擎
Leweslyh1 天前
线性时不变系统传递函数矩阵的状态空间实现理论及其多重性机理研究
线性代数·矩阵
曹文杰15190301121 天前
2025 年大模型背景下应用统计本科 计算机方向 培养方案
python·线性代数·机器学习·学习方法
iAkuya2 天前
(leetcode)力扣100 19螺旋矩阵(方向数组/边界把控)
算法·leetcode·矩阵
闻缺陷则喜何志丹2 天前
【计算几何】仿射变换与齐次矩阵
c++·数学·算法·矩阵·计算几何
闻缺陷则喜何志丹3 天前
【计算几何 线性代数】仿射矩阵的秩及行列式
c++·线性代数·数学·矩阵·计算几何·行列式·仿射矩阵得秩
iAkuya3 天前
(leetcode)力扣100 18矩阵置零(哈希)
leetcode·矩阵·哈希算法
点云侠3 天前
粒子群优化算法求解三维变换矩阵的数学推导
线性代数·算法·矩阵
c#上位机3 天前
halcon计算仿射变换矩阵的逆矩阵
计算机视觉·矩阵·c#