向量与矩阵概念

动态演示 2D 直角网格形变,直观透析矩阵作为“空间映射”的代数精髓

📖 线性代数本源:向量与矩阵的映射关系

在线性代数中,向量不仅是一个数值列表,也代表空间中的一个箭头。而矩阵 (Matrix) 不仅是一个数表,它代表了一种空间线性变换。

📐 矩阵乘向量的代数表示

一个 $2 \times 2$ 矩阵作用在二维向量 $\vec{v} = (x, y)^T$ 上,其乘法定义为:

$\begin{bmatrix} a & b \\ c & d \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} ax + by \\ cx + dy \end{bmatrix}$

几何本源:矩阵的每一列其实是基底向量变换后的新位置。设原始基底为 $\vec{i} = (1,0)^T, \; \vec{j} = (0,1)^T$,变换后它们移到了:

$\vec{i}' = \begin{bmatrix} a \\ c \end{bmatrix}, \quad \vec{j}' = \begin{bmatrix} b \\ d \end{bmatrix}$

任何向量 $\vec{v} = x\vec{i} + y\vec{j}$ 在变换后都映射为 $x\vec{i}' + y\vec{j}'$。这完美解释了矩阵变换保留了原点且网格线保持平行等距的线性性质!

变换矩阵 A:
可直接在下方输入框中改变矩阵系数,或在绘图区中拖拽金色箭头端点改变输入向量 $\vec{v}$ 的坐标,看空间如何被扭曲。
输入向量 v v = (2.0, 1.0)
基底 i' 终点 i' = (1.0, 0.0)
基底 j' 终点 j' = (1.0, 1.0)
输出向量 v' = Av v' = (3.0, 1.0)
📐 直角网格线性映射变形区
新基底 i'
新基底 j'
输入向量 v
输出向量 v'
struct Vector2D { double x, y; };
struct Matrix2x2 { double a, b, c, d; }; // 行优先存储

// 矩阵乘向量:A * v
Vector2D transform(Matrix2x2 A, Vector2D v) {
    Vector2D res;
    res.x = A.a * v.x + A.b * v.y; // 行A[0]与向量v点积
    res.y = A.c * v.x + A.d * v.y; // 行A[1]与向量v点积
    return res;
}
📋 空间映射分析日志