5._线性变换的意义

线性变换的意义

在大多数的教科书中, 线性映射和线性变换被区别为两个概念。如果映射是发生在一个集合上的同一个坐标系中, 线性映射就被称为线性变换。线性变换作为线性映射的特例, 就是把集合上的两个坐标系合并为一个。

简单理解:二维到二维是变换,比如平面图形的旋转变换。 三维到二维是映射,比如灯光照射在球体上,墙面上留下球的影子,这就把三维球体映射成了二维平面。

例如把二维平面圆的映射整合成变换如图 1-16 所示, 以原点为不变轴心, 把 Π2\Pi_2 平面旋转放平, y1y_1 轴重合于 x1x_1 轴, y2y_2 轴重合于 x2x_2 轴, 两平面合二为一。

图片{width=600px}

整合后的图形用平面直角坐标系表示就是图 1-17。

图片{width=500px}

直角坐标系下的图形清楚地显示了一个圆被线性变换为一个椭圆。相应地,圆上的一个向量 a1\boldsymbol{a}_1 映射为椭圆上的向量 b1\boldsymbol{b}_1 。圆和椭圆都在同一个线性空间——平面上 (平面就是空间)。

例子

在线性代数中, 我们主要讨论的是由矩阵所决定的线性变换的各种特性。下面看两个具体的线性变换的例子 (下面的 “'”为线性变换 T(T( ) 的另一种简单写法)。 在平面上所有从原点出发的向量构成的二维线性空间中, 把所有向量绕原点作同样角度的旋转是一个线性变换。 如图 1-18 中向量旋转角度是直角。这时向量的和 a1+a2(=a3)\boldsymbol{a}_1+\boldsymbol{a}_2\left(=\boldsymbol{a}_3\right) 旋转所得到的向量 a3\boldsymbol{a}_3{ }^{\prime} 恰好等于 a1\boldsymbol{a}_1a2\boldsymbol{a}_2 旋转所得到的向量 a1\boldsymbol{a}_1{ }^{\prime}a2\boldsymbol{a}_2{ }^{\prime} 之和 a1+a2\boldsymbol{a}_1{ }^{\prime}+\boldsymbol{a}_2{ }^{\prime}; 数 kk 与向量 a1\boldsymbol{a}_1 的乘积 ka1k \boldsymbol{a}_1 旋转所得到的向量 (ka1)\left(k \boldsymbol{a}_1\right)^{\prime} 恰好等于数 kk 与向量 a1\boldsymbol{a}_1 旋转所得到的 a1\boldsymbol{a}_1{ }^{\prime} 的数乘积 ka1k \boldsymbol{a}_1{ }^{\prime} 。这就是说:

(a1+a2)=a1+a2,(ka1)=ka1\begin{gathered} \left(a_1+a_2\right)^{\prime}=a_1{ }^{\prime}+a_2{ }^{\prime}, \\ \left(k a_1\right)^{\prime}=k a_1{ }^{\prime} 。 \end{gathered}

图片{width=600px}

另一个例子 (见图 1-19): 在建立了空间笛卡尔直角坐标系的三维向量空间中, 把每一个向量投影在坐标面 xoyx o y 上, 也是一个变换(投影变换)。这时, 向量 a=(a,b,c)\boldsymbol{a}=(a, b, c), 在此变换下的像为 a=(a,b,0)\boldsymbol{a}^{\prime}=(a, b, 0), 不难推知, 此时也有

(a1+a2)=a1+a2\left(\boldsymbol{a}_1+\boldsymbol{a}_2\right)^{\prime}=\boldsymbol{a}_1{ }^{\prime}+\boldsymbol{a}_2{ }^{\prime}

(ka)=ka(k \boldsymbol{a})^{\prime}=k \boldsymbol{a}^{\prime}

图片{width=600px}

这两个变换有一个共同的性质: 两个向量之和变换后, 所得的向量恰好是把这两个向量变换后所得向量之和; 数 kk 与一个向量数乘后进行变换, 所得的向量恰好是数 kk 与把此向量变换后所得向量的乘积。此即所谓的可加性和比例性。这种使向量之间加法与数乘法关系都不受影响的变换——线性变换, 它与线性空间的运算相适应, 能够反映线性空间中向量的内在联系, 是线性空间的重要变换。故线性变换的定义如下: 数域 FF 上线性空间 VV 中的变换 TT 若满足条件:

T(a+b)=Ta+Tb(a,bV)T(ka)=kTa(kF,aV)\begin{aligned} & T(\boldsymbol{a}+\boldsymbol{b})=T \boldsymbol{a}+T \boldsymbol{b} \quad(\boldsymbol{a}, \boldsymbol{b} \in V) \\ & T(k \boldsymbol{a})=k T \boldsymbol{a} \quad(k \in F, \boldsymbol{a} \in V) \end{aligned}

则称 TTVV 中的线性变换。

下面介绍2个常见的映射。

变换的矩阵表示

上面描述了线性变换,那么如何表示这种变换呢?答案就是:矩阵。下面给出2个常用的二维变换矩阵:缩放矩阵和旋转矩阵

缩放矩阵

缩放变换中,如果一个图片以原点 (0,0)(0,0) 为中心缩放 ss 倍。那么点 (x,y)(x, y) 变换后数学形式可以表示为

x=sxy=sy\begin{aligned} & x^{\prime}=s x \\ & y^{\prime}=s y \end{aligned}

写成矩阵形式为:

[xy]=[sx00sy][xy]\left[\begin{array}{l} x^{\prime} \\ y^{\prime} \end{array}\right]=\left[\begin{array}{ll} s_x & 0 \\ 0 & s_y \end{array}\right]\left[\begin{array}{l} x \\ y \end{array}\right]

当然,我们也可以给 x 轴和 y 轴不同的缩放倍数 sxs xsys y 。在非均匀情况下,缩放变换的矩阵形式为

[xy]=[sx00sy][xy]...(图像缩放公式)\boxed{ \left[\begin{array}{l} x^{\prime} \\ y^{\prime} \end{array}\right]=\left[\begin{array}{cc} s_x & 0 \\ 0 & s_y \end{array}\right]\left[\begin{array}{l} x \\ y \end{array}\right] ...(\text{图像缩放公式}) }

下图展示了图像缩放示意图

通过观察可以看到,缩放矩阵,只有主对角线有元素,其它元素为0

图片{width=600px}

图像旋转矩阵

我们默认旋转变换(Rotate)都绕着原点(0,0) (0, 0) 旋转,并且默认旋转方向为逆时针方向(逆时针方向旋转角度值为正,顺时针旋转角度值为负),当一个点 (x,y)(x,y)绕着原点(0,0)(0,0)旋转θ\theta角时,变换矩阵可以表示为:

[xy]=[cosθsinθsinθcosθ][xy]...(图像旋转公式)\boxed { \left[\begin{array}{l} x^{\prime} \\ y^{\prime} \end{array}\right]=\left[\begin{array}{cc} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{array}\right]\left[\begin{array}{l} x \\ y \end{array}\right] ...(\text{图像旋转公式}) }

证明

我们在直角坐标系中绘制一个边长为 1 的正方形,点 AA 坐标为 (1,0)(1,0) ,点 BB 坐标为 (0,1)(0,1) 。正方形沿着原点 (0,0)(0,0) 旋转的角度为 θ\theta 角 参考下图。 图片{width=500px}

我们设原坐标里任一点(x,y)(x,y) 经过旋转后,在新坐标为(x,y)(x',y'),现在找一下新旧坐标系下“点”的关系。

[xy]=[ABCD][xy]\left[\begin{array}{l} x^{\prime} \\ y^{\prime} \end{array}\right]=\left[\begin{array}{ll} A & B \\ C & D \end{array}\right]\left[\begin{array}{l} x \\ y \end{array}\right]

接下来去两个特殊点,代入点 AA 的的值 (1,0)(1,0) 可以得到:

[cosθsinθ]=[ABCD][10]\left[\begin{array}{c} \cos \theta \\ \sin \theta \end{array}\right]=\left[\begin{array}{ll} A & B \\ C & D \end{array}\right]\left[\begin{array}{l} 1 \\ 0 \end{array}\right]

解方程得到:

A=cosθC=sinθ\begin{aligned} & A=\cos \theta \\ & C=\sin \theta \end{aligned}

代人点 BB 的的值 (0,1)(0,1) 可以得到:

[sinθcosθ]=[ABCD][01]\left[\begin{array}{c} -\sin \theta \\ \cos \theta \end{array}\right]=\left[\begin{array}{ll} A & B \\ C & D \end{array}\right]\left[\begin{array}{l} 0 \\ 1 \end{array}\right]

解方程得到:

B=sinθD=cosθ\begin{array}{r}B=-\sin \theta \\ D=\cos \theta \end{array}

因此,坐标旋转公式为

Arotate =[cosθsinθsinθcosθ]A_{\text {rotate }}=\left[\begin{array}{cc} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{array}\right]

下图显示了一个图形旋转。

图片{width=600px}

特别的,如果 θ=45\theta=45^{\circ},旋转矩阵就变成

A=[22222222]\boldsymbol{A}=\left[\begin{array}{cc} \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \end{array}\right]

这意味着任何一个向量乘以该矩阵将旋转4545^{\circ}

更多变换矩阵的介绍请点击 矩阵变换