回到首页 / 上级目录

矩阵与线性变换

线性变换是将向量作为输入和输出的一类函数。

本质

考虑 $\vec{v} = -1\cdot \vec{i} + 2\cdot\vec{j}$,分别对 $\vec{i}$ 和 $\vec{j}$ 进行变换:

\[\vec{i} = \begin{bmatrix}1\\-2\end{bmatrix},\ \vec{j} = \begin{bmatrix}3\\0\end{bmatrix}\]

$\vec{v}$ 以 $\vec{i}$ 和 $\vec{j}$ 为基,则 $\vec{v}$ 的变换如下:

\[\vec{v} = -1\cdot\begin{bmatrix}1\\-2\end{bmatrix} + 2\cdot\begin{bmatrix}3\\0\end{bmatrix}=\begin{bmatrix}5\\2\end{bmatrix}\]

该过程为线性变换(Linear Transformation)。

矩阵

将 $\vec{v}$ 抽象成未知向量 $x\cdot\vec{i} + y\cdot\vec{j}$,变换过程可描述为:

\[\vec{v} = x\cdot\begin{bmatrix}1\\-2\end{bmatrix} + y\cdot\begin{bmatrix}3\\0\end{bmatrix} =\begin{bmatrix}1&3\\-2&0\end{bmatrix}\begin{bmatrix}x\\y\end{bmatrix} = A\vec{v}\]

通过 $A\vec{v}$ 运算,可以求出变换后的 $\vec{v}$ 的坐标。

称 $A$ 为 $2\times 2$ 矩阵,矩阵的列是变换后的基向量。

旋转

对基向量逆时针旋转 $90^{\circ}$,坐标变为:

\[\vec{i} = \begin{bmatrix}0\\1\end{bmatrix},\ \vec{j} = \begin{bmatrix}-1\\0\end{bmatrix}\]

向量 $\vec{v}$ 随之旋转 $90^{\circ}$,计算如下:

\[\vec{v} = \begin{bmatrix}0&-1\\1&0\end{bmatrix}\begin{bmatrix}x\\y\end{bmatrix}\]

剪切

$\vec{i}$ 保持不变,$\vec{j}$ 变换如下:

\[\vec{j} = \begin{bmatrix}1\\1\end{bmatrix}\]

则向量 $\vec{v}$ 的变换如下

\[\vec{v} = \begin{bmatrix}1&1\\0&1\end{bmatrix}\begin{bmatrix}x\\y\end{bmatrix}\]

剪切(Shear)过程像是把叠好的扑克牌往一边推,形成平行四边形。

总结

线性变换计算直观,通过 $A\vec{v}$ 即可求出所有变换后的向量。

其中 $A$ 是 $2\times 2$ 矩阵,矩阵的列是变换后的基向量。