线性变换的意义 在大多数的教科书中, 线性映射和线性变换被区别为两个概念。如果映射是发生在一个集合上的同一个坐标系中, 线性映射就被称为线性变换。线性变换作为线性映射的特例, 就是把集合上的两个坐标系合并为一个。
简单理解:二维到二维是变换,比如平面图形的旋转变换。 三维到二维是映射,比如灯光照射在球体上,墙面上留下球的影子,这就把三维球体映射成了二维平面。
例如把二维平面圆的映射整合成变换如图 1-16 所示, 以原点为不变轴心, 把 Π 2 \Pi_2 Π 2 平面旋转放平, y 1 y_1 y 1 轴重合于 x 1 x_1 x 1 轴, y 2 y_2 y 2 轴重合于 x 2 x_2 x 2 轴, 两平面合二为一。
{width=600px}
整合后的图形用平面直角坐标系表示就是图 1-17。
{width=500px}
直角坐标系下的图形清楚地显示了一个圆被线性变换为一个椭圆。相应地,圆上的一个向量 a 1 \boldsymbol{a}_1 a 1 映射为椭圆上的向量 b 1 \boldsymbol{b}_1 b 1 。圆和椭圆都在同一个线性空间——平面上 (平面就是空间)。
例子 在线性代数中, 我们主要讨论的是由矩阵所决定的线性变换的各种特性。下面看两个具体的线性变换的例子 (下面的 “'”为线性变换 T ( T( T ( ) 的另一种简单写法)。
在平面上所有从原点出发的向量构成的二维线性空间中, 把所有向量绕原点作同样角度的旋转是一个线性变换。
如图 1-18 中向量旋转角度是直角。这时向量的和 a 1 + a 2 ( = a 3 ) \boldsymbol{a}_1+\boldsymbol{a}_2\left(=\boldsymbol{a}_3\right) a 1 + a 2 ( = a 3 ) 旋转所得到的向量 a 3 ′ \boldsymbol{a}_3{ }^{\prime} a 3 ′ 恰好等于 a 1 \boldsymbol{a}_1 a 1 和 a 2 \boldsymbol{a}_2 a 2 旋转所得到的向量 a 1 ′ \boldsymbol{a}_1{ }^{\prime} a 1 ′ 和 a 2 ′ \boldsymbol{a}_2{ }^{\prime} a 2 ′ 之和 a 1 ′ + a 2 ′ \boldsymbol{a}_1{ }^{\prime}+\boldsymbol{a}_2{ }^{\prime} a 1 ′ + a 2 ′ ; 数 k k k 与向量 a 1 \boldsymbol{a}_1 a 1 的乘积 k a 1 k \boldsymbol{a}_1 k a 1 旋转所得到的向量 ( k a 1 ) ′ \left(k \boldsymbol{a}_1\right)^{\prime} ( k a 1 ) ′ 恰好等于数 k k k 与向量 a 1 \boldsymbol{a}_1 a 1 旋转所得到的 a 1 ′ \boldsymbol{a}_1{ }^{\prime} a 1 ′ 的数乘积 k a 1 ′ k \boldsymbol{a}_1{ }^{\prime} k a 1 ′ 。这就是说:
( a 1 + a 2 ) ′ = a 1 ′ + a 2 ′ , ( k a 1 ) ′ = k a 1 ′ 。 \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} ( a 1 + a 2 ) ′ = a 1 ′ + a 2 ′ , ( k a 1 ) ′ = k a 1 ′ 。 {width=600px}
另一个例子 (见图 1-19): 在建立了空间笛卡尔直角坐标系的三维向量空间中, 把每一个向量投影在坐标面 x o y x o y x oy 上, 也是一个变换(投影变换)。这时, 向量 a = ( a , b , c ) \boldsymbol{a}=(a, b, c) a = ( a , b , c ) , 在此变换下的像为 a ′ = ( a , b , 0 ) \boldsymbol{a}^{\prime}=(a, b, 0) a ′ = ( a , b , 0 ) , 不难推知, 此时也有
( a 1 + a 2 ) ′ = a 1 ′ + a 2 ′ \left(\boldsymbol{a}_1+\boldsymbol{a}_2\right)^{\prime}=\boldsymbol{a}_1{ }^{\prime}+\boldsymbol{a}_2{ }^{\prime} ( a 1 + a 2 ) ′ = a 1 ′ + a 2 ′
( k a ) ′ = k a ′ (k \boldsymbol{a})^{\prime}=k \boldsymbol{a}^{\prime} ( k a ) ′ = k a ′ 。
{width=600px}
这两个变换有一个共同的性质: 两个向量之和变换后, 所得的向量恰好是把这两个向量变换后所得向量之和; 数 k k k 与一个向量数乘后进行变换, 所得的向量恰好是数 k k k 与把此向量变换后所得向量的乘积。此即所谓的可加性和比例性。这种使向量之间加法与数乘法关系都不受影响的变换——线性变换, 它与线性空间的运算相适应, 能够反映线性空间中向量的内在联系, 是线性空间的重要变换。故线性变换的定义如下:
数域 F F F 上线性空间 V V V 中的变换 T T T 若满足条件:
T ( a + b ) = T a + T b ( a , b ∈ V ) T ( k a ) = k T a ( k ∈ F , a ∈ V ) \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} T ( a + b ) = T a + T b ( a , b ∈ V ) T ( k a ) = k T a ( k ∈ F , a ∈ V ) 则称 T T T 为 V V V 中的线性变换。
下面介绍2个常见的映射。
变换的矩阵表示 上面描述了线性变换,那么如何表示这种变换呢?答案就是:矩阵。下面给出2个常用的二维变换矩阵:缩放矩阵和旋转矩阵
缩放矩阵 缩放变换中,如果一个图片以原点 ( 0 , 0 ) (0,0) ( 0 , 0 ) 为中心缩放 s s s 倍。那么点 ( x , y ) (x, y) ( x , y ) 变换后数学形式可以表示为
x ′ = s x y ′ = s y \begin{aligned}
& x^{\prime}=s x \\
& y^{\prime}=s y
\end{aligned} x ′ = s x y ′ = sy 写成矩阵形式为:
[ x ′ y ′ ] = [ s x 0 0 s y ] [ x y ] \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 ′ ] = [ s x 0 0 s y ] [ x y ] 当然,我们也可以给 x 轴和 y 轴不同的缩放倍数 s x s x s x 和 s y s y sy 。在非均匀情况下,缩放变换的矩阵形式为
[ x ′ y ′ ] = [ s x 0 0 s y ] [ x y ] . . . ( 图像缩放公式 ) \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{图像缩放公式})
} [ x ′ y ′ ] = [ s x 0 0 s y ] [ x y ] ... ( 图像缩放公式 ) 下图展示了图像缩放示意图
通过观察可以看到,缩放矩阵,只有主对角线有元素,其它元素为0
{width=600px}
图像旋转矩阵 我们默认旋转变换(Rotate)都绕着原点( 0 , 0 ) (0, 0) ( 0 , 0 ) 旋转,并且默认旋转方向为逆时针方向(逆时针方向旋转角度值为正,顺时针旋转角度值为负),当一个点 ( x , y ) (x,y) ( x , y ) 绕着原点( 0 , 0 ) (0,0) ( 0 , 0 ) 旋转θ \theta θ 角时,变换矩阵可以表示为:
[ x ′ y ′ ] = [ cos θ − sin θ sin θ cos θ ] [ x y ] . . . ( 图像旋转公式 ) \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{图像旋转公式})
} [ x ′ y ′ ] = [ cos θ sin θ − sin θ cos θ ] [ x y ] ... ( 图像旋转公式 ) 证明
我们在直角坐标系中绘制一个边长为 1 的正方形,点 A A A 坐标为 ( 1 , 0 ) (1,0) ( 1 , 0 ) ,点 B B B 坐标为 ( 0 , 1 ) (0,1) ( 0 , 1 ) 。正方形沿着原点 ( 0 , 0 ) (0,0) ( 0 , 0 ) 旋转的角度为 θ \theta θ 角 参考下图。
{width=500px}
我们设原坐标里任一点( x , y ) (x,y) ( x , y ) 经过旋转后,在新坐标为( x ′ , y ′ ) (x',y') ( x ′ , y ′ ) ,现在找一下新旧坐标系下“点”的关系。
[ x ′ y ′ ] = [ A B C D ] [ x y ] \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] [ x ′ y ′ ] = [ A C B D ] [ x y ] 接下来去两个特殊点,代入点 A A A 的的值 ( 1 , 0 ) (1,0) ( 1 , 0 ) 可以得到:
[ cos θ sin θ ] = [ A B C D ] [ 1 0 ] \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] [ cos θ sin θ ] = [ A C B D ] [ 1 0 ] 解方程得到:
A = cos θ C = sin θ \begin{aligned}
& A=\cos \theta \\
& C=\sin \theta
\end{aligned} A = cos θ C = sin θ 代人点 B B B 的的值 ( 0 , 1 ) (0,1) ( 0 , 1 ) 可以得到:
[ − sin θ cos θ ] = [ A B C D ] [ 0 1 ] \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] [ − sin θ cos θ ] = [ A C B D ] [ 0 1 ] 解方程得到:
B = − sin θ D = cos θ \begin{array}{r}B=-\sin \theta \\ D=\cos \theta \end{array} B = − sin θ D = cos θ 因此,坐标旋转公式为
A rotate = [ cos θ − sin θ sin θ cos θ ] A_{\text {rotate }}=\left[\begin{array}{cc}
\cos \theta & -\sin \theta \\
\sin \theta & \cos \theta
\end{array}\right] A rotate = [ cos θ sin θ − sin θ cos θ ] 下图显示了一个图形旋转。
{width=600px}
特别的,如果 θ = 45 ∘ \theta=45^{\circ} θ = 4 5 ∘ ,旋转矩阵就变成
A = [ 2 2 − 2 2 2 2 2 2 ] \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] A = [ 2 2 2 2 − 2 2 2 2 ] 这意味着任何一个向量乘以该矩阵将旋转45 ∘ 45^{\circ} 4 5 ∘
更多变换矩阵的介绍请点击 矩阵变换