多视图几何-从线性变换到射影变换-2线性变换
多视图几何–从线性变换到射影变换–2线性变换
1线性变换的概念
高中数学学过映射的概念:对于两个集合
X , Y X,Y
X
,
Y ,如果存在一个法则
f f
f ,使得
X , Y X,Y
X
,
Y 中的元素存对应关系,则称
f f
f 称为集合
X , Y X,Y
X
,
Y 的 映射 ,映射又有单射、双射、满射之分,其中 函数 即是一种数字集合的映射的子集。如果两个集合属于同一个空间,则称映射为 变换 。为了更好地在实数或者复数范围内理解线性变换,在以后不特殊说明的情况下,将映射、函数、变换三者视为 等价 关系。
现在来讨论一下线性的概念。线性代数的起源是为了研究齐次线性方程组的解法,因此线性这次词来源于线性方程。 线性方程 的表示形式如下:
a 1 x 1 + a 2 x 2 + . . . a i x i . . . + a n x n
b (1) a_1x_1+a_2x_2+…a_ix_i…+a_nx_n=b\tag{1}
a
1
x
1
a
2
x
2
…
a
i
x
i
…
a
n
x
n
=
b
(
1
)
其中
x i x_i
x
i
为未知量,
a i a_i
a
i
为系数,将上式写成向量形式
a . x
b a.x=b
a
.
x
=
b ,形如
a x
b ax=b
a
x
=
b 的式子称为线性等式(方程)。因此线性的含义即利用常系数a乘以未知量x的过程。进一步考虑一元线性等式即:
y
a 1 . x 1 y=a_1.x_1
y
=
a
1
.
x
1
,可以发现有别于常见的一元一次函数
y
a x + c , c ≠ 0 y= {a}x+c,c\neq0
y
=
a
x
c
,
c
=
0 ,可以发现虽然二者都是直线,但一元一次函数
y
a x + c y=ax+c
y
=
a
x
c 不符合线性等式的含义(多了个常数项),因此这里要特别注意一元一次函数并不都是线性等式( 这里不能因为一元一次函数是直线,就认为它是线性的 )。
根据上述讨论很自然地想到线性变换的概念:如果法则
T T
T 满足以下条件:
对于任意向量
u , v u,v
u
,
v 有
T ( u + v )
T u + T v T(u+v)=Tu+Tv
T
(
u
v
)
=
T
u
T
v 2. 对于标量
c c
c ,
T ( c u )
c T ( u ) T(cu)=cT(u)
T
(
c
u
)
=
c
T
(
u
)
则称
T T
T 为线性变换(映射)。
其实很容易通过线性方程的表达式获得上述定义。通过上面严格的定义很容易发现,一元一次函数
y
a x + c y=ax+c
y
=
a
x
c 不符合线性变换第二条规定。
2矩阵
对于线性方程组:
a 11 x 1 + a 12 x 2 + . . . a 1 i x i . . . + a 1 n x n
b 1 . . . a n 1 x 1 + a n 2 x 2 + . . . a n i x i . . . + a n n x n
b 1 (2) a_{11}x_1+a_{12}x_2+…a_{1i}x_i…+a_{1n}x_n=b_1\\tag{2} …\ a_{n1}x_1+a_{n2}x_2+…a_{ni}x_i…+a_{nn}x_n=b_1
a
11
x
1
a
12
x
2
…
a
1
i
x
i
…
a
1
n
x
n
=
b
1
…
a
n
1
x
1
a
n
2
x
2
…
a
ni
x
i
…
a
nn
x
n
=
b
1
(
2
)
令
a 1
[ a 11 . . . a n 1 ] , . . . , a n
[ a 1 n . . . a n n ] , x
[ x 1 . . . x n ] , b
[ b 1 . . . b n ] a_1=\begin{bmatrix} a_{11}\ .\ .\ .\ a_{n1}\ \end{bmatrix},…,a_n=\begin{bmatrix} a_{1n}\ .\ .\ .\ a_{nn}\ \end{bmatrix},x=\begin{bmatrix} x_{1}\ .\ .\ .\ x_{n}\ \end{bmatrix},b=\begin{bmatrix} b_{1}\ .\ .\ .\ b_{n}\ \end{bmatrix}
a
1
=
a
11
.
.
.
a
n
1
,
…
,
a
n
=
a
1
n
.
.
.
a
nn
,
x
=
x
1
.
.
.
x
n
,
b
=
b
1
.
.
.
b
n
构成列向量。则线性方程组可以写成:
a 1 x 1 + . . . + a n x n
b (3) a_1x_1+…+a_nx_n=b\tag{3}
a
1
x
1
…
a
n
x
n
=
b
(
3
)
再将
a 1 . . . a n a_1…a_n
a
1
…
a
n
组成行向量:
A
[ a 1 . . . a i . . a n ] (4) A=\begin{bmatrix} a_{1}…a_i..a_n \end{bmatrix}\tag{4}
A
=
[
a
1
…
a
i
..
a
n
]
(
4
)
则线性方程组可以写成:
A x
b Ax=b
A
x
=
b 的形式,其中
A A
A 称为矩阵。
坐标可以看出是基向量数乘,而后相加之后得到新的向量(坐标)。例如:在平面直角坐标系中,基向量为(0,1),(1,0),坐标(x,y)表示基向量(1,0)乘以x倍,(0,1)乘以y倍,得到一个新的向量,其坐标为(x,y)。
重新观察等式(3),可以看成常数与向量相乘,再进行相加,其与坐标表示的做法相同,因此可以把
a i a_i
a
i
看成n维空间的一组基向量,
x i x_i
x
i
看成基向量的倍数,最后得到了一个新的向量其坐标为
b b
b 。因此等式(3)可以看成列向量数乘相加的结果(线性组合),即矩阵的列,可以看成坐标系的一组基向量,矩阵与向量相乘可以看成该坐标系下任意一点(向量)生成的过程,把这种观点称 为矩阵乘法的列向量观点 (这种基变换的观点对于理解各个变化非常重要)。
3矩阵与线性变换的关系
线性变换离不开矩阵。先给出以下定理:
设
T T
T 为有限维的实数空间
R m 到 R n \mathbb{R^m}到\mathbb{R^n}
R
m
到
R
n 上的线性变换,则 存在唯一 的矩阵
A A
A ,使得:
T ( x )
A x (5) T(x)=Ax\tag{5}
T
(
x
)
=
A
x
(
5
)
首先证明存在性:
设
I m I_m
I
m
是单位阵,其列向量
e i e_i
e
i
构成m维空间的单位正交基。则:
x
x 1 e 1 + . . . x i e i + . . . x m e m (6) x=x_1e_1+…x_ie_i+…x_me_m\tag{6}
x
=
x
1
e
1
…
x
i
e
i
…
x
m
e
m
(
6
)
其中
x i x_i
x
i
为向量
x x
x 的元素。设
T T
T 为线性变换:
T ( x )
T ( x 1 e 1 ) + . . . T ( x i e i ) + . . . T ( x m e m ) (7) T(x)=T(x_1e_1)+…T(x_ie_i)+…T(x_me_m)\tag{7}
T
(
x
)
=
T
(
x
1
e
1
)
…
T
(
x
i
e
i
)
…
T
(
x
m
e
m
)
(
7
)
根据线性变换的第二条性质,则有:
T ( x )
x 1 T ( e 1 ) + . . . x i T ( e i ) + . . . x m T ( e m )
[ T ( e 1 ) . . . T ( e m ) ] [ x 1 . . . x m ]
A x (8) T(x)=x_1T(e_1)+…x_iT(e_i)+…x_mT(e_m)\ =\begin{bmatrix} T(e_1)…T(e_m) \end{bmatrix} \begin{bmatrix} x_1\ .\ .\ .\ x_m\ \end{bmatrix}=Ax \tag{8}
T
(
x
)
=
x
1
T
(
e
1
)
…
x
i
T
(
e
i
)
…
x
m
T
(
e
m
)
=
[
T
(
e
1
)
…
T
(
e
m
)
]
x
1
.
.
.
x
m
=
A
x
(
8
)
再证明唯一性:
[ T ( e 1 ) . . . T ( e m ) ]
A
[ a i . . . a m ] (9) \begin{bmatrix} T(e_1)…T(e_m) \end{bmatrix}=A=\begin{bmatrix} a_i…a_m \end{bmatrix}\tag{9}
[
T
(
e
1
)
…
T
(
e
m
)
]
=
A
=
[
a
i
…
a
m
]
(
9
)
a i a_i
a
i
为矩阵
A A
A 的列向量,其中
a i
T ( e i ) a_i=T(e_i)
a
i
=
T
(
e
i
) ,设
B B
B 是
T T
T 对应的另一个矩阵,则
T ( e i )
B e i
b i T(e_i)=Be_i=b_i
T
(
e
i
)
=
B
e
i
=
b
i
,所以有矩阵
A , B A,B
A
,
B 的列向量相等,从而得到
A
B A=B
A
=
B .
4线性变换的基本几何不变量
有上述讨论可知:有限维实数空间内,线性变换可以被矩阵唯一表示,而矩阵与向量乘法可以看为矩阵列向量与向量元素(数字)相乘得到的向量再求和,即向量的矩阵变换可以看作一系列新的向量相加的结果。在这里只讨论同一维度空间(n=m,A为方阵,且满秩)的线性映射(变换),以二维空间为例:
(1)直线性
设
P 1 , P 2 P_1,P_2
P
1
,
P
2
为不重合两点,这两个构成一条直线,其对应的坐标为
x 1 , x 2 x_1,x_2
x
1
,
x
2
,经过同一线性变换后,得到变换后的点坐标
P 1 ′ , P 2 ′ P_1’,P_2'
P
1
′
,
P
2
′
,其对应的坐标为
x 1 ′
A x 1 , x 2
A x 2 ′ x_1’=Ax_1,x_2=Ax_2'
x
1
′
=
A
x
1
,
x
2
=
A
x
2
′
,
P 1 , P 2 P_1,P_2
P
1
,
P
2
不重合,所以
x 1 ′ ≠ x 2 ′ , P 1 ′ , P 2 ′ x_1’\neq x_2’, P_1’,P_2'
x
1
′
=
x
2
′
,
P
1
′
,
P
2
′
不重合,经同一线性变换后仍为一条直线。类似直线性的证明,易得不共线三点,经线性变换也不共线。
(2)平行性
设直线
l 1 / / l 2 l_1//l_2
l
1
//
l
2
,
P 1 , P 2 位于 l 1 上 , P 3 , P 4 位于 l 2 上,其坐标向量分别为 : x 1 , x 2 , x 3 , x 4 P_1,P_2位于l_1上,P_3,P_4位于l_2上,其坐标向量分别为:x_1,x_2,x_3,x_4
P
1
,
P
2
位于
l
1
上
,
P
3
,
P
4
位于
l
2
上,其坐标向量分别为
:
x
1
,
x
2
,
x
3
,
x
4
,构成平行四边形,其坐标为
y 1 , y 2 , y 3 , y 4 y_1,y_2,y_3,y_4
y
1
,
y
2
,
y
3
,
y
4
,经线性变换A后得到对应的点
P 1 ′ , P 2 ′ , P 3 ′ , P 4 ′ P_1’,P_2’,P_3’,P_4'
P
1
′
,
P
2
′
,
P
3
′
,
P
4
′
,可知
P 1 P 2 ⃗ / / P 3 P 4 ⃗ \vec{P_1P_2}//\vec{P_3P_4}
P
1
P
2
//
P
3
P
4
,有:
x 2 − x 1
x 4 − x 3 x_2-x_1=x_4-x_3
x
2
−
x
1
=
x
4
−
x
3
,则经线性变换有,
A ( x 2 − x 1 )
A ( x 4 − x 3 ) A(x_2-x_1)=A(x_4-x_3)
A
(
x
2
−
x
1
)
=
A
(
x
4
−
x
3
) ,根据线性变换第一条性质,展开可得
y 2 − y 1
y 4 − y 3 y_2-y_1=y_4-y_3
y
2
−
y
1
=
y
4
−
y
3
,且任意三点不共线,即
P 1 ′ P 2 ′ ⃗ / / P 3 ′ P 4 ′ ⃗ \vec{P_1’P_2’}//\vec{P_3’P_4'}
P
1
′
P
2
′
//
P
3
′
P
4
′
.所以平行线经线性变换后仍保持平行的性质。
基于以上两条基本的不变性,可以得到,平行四边形经过线性变换后,仍然是平行四边形,关于几何图形有很多其他结论,这里不一一列举了。
5结论
有限维实数空间范围内,线性变换和矩阵一一对应关系,即矩阵和线性变换是等价的。可以用满秩方阵表示的线性变换都具有几何直线性和平行性。
6一些基础的线性变换
这里以二维空间为例:
二维笛卡尔坐标系的基构成的单位阵为:
I
[ 1 0 0 1 ] I=\begin{bmatrix} 1&0\ 0&1\ \end{bmatrix}
I
=
[
1
0
0
1
] ,假设任意二维向量
x
( a b ) x=\begin{pmatrix} a\ b\ \end{pmatrix}
x
=
(
a
b
) ,向量
u , v u,v
u
,
v 为单位阵的列向量,构成一组单位正交基,考察将单位阵适当变化为矩阵
A A
A ,长方形
P 1 P 2 P 3 P 4 P_1P_2P_3P_4
P
1
P
2
P
3
P
4
在新的矩阵下
A A
A 的变化情况。
剪切变换:
水平剪切变换 :
A
[ 1 k 0 1 ] A=\begin{bmatrix} 1&k\ 0&1\ \end{bmatrix}
A
=
[
1
0
k
1
] ,
A x
a ( 1 0 ) + b ( k 1 ) Ax=a\begin{pmatrix} 1\ 0\ \end{pmatrix}+b\begin{pmatrix} k\ 1\ \end{pmatrix}
A
x
=
a
(
1
0
)
b
(
k
1
) ,即此时矩阵A的列向量构成了一组新的基,x方向的基没有发生变化,y方向的基发生了变化,如下图所示
u ′ ( P 1 K ⃗ ) u’(\vec{P_1K})
u
′
(
P
1
K
) 为y方向新的基:
由于x方向的基没有发生变化所以
P 1 , P 3 P_1,P3
P
1
,
P
3 不会发生变化,
P 2 P_2
P
2
为y方向的基向量的4倍,在新的基下
P 2 ′
P 1 P 2 ′ ⃗
4 ( k 1 ) P_2’=\vec{P_1P_2’}=4\begin{pmatrix} k\ 1\ \end{pmatrix}
P
2
′
=
P
1
P
2
′
=
4
(
k
1
) ,此时新的基已经不正交(垂直),所以长方形
P 1 P 2 P 3 P 4 P_1P_2P_3P_4
P
1
P
2
P
3
P
4
在新的矩阵下
A A
A 变成如下形式:
垂直剪切变换 :
A
[ 1 0 k 1 ] A=\begin{bmatrix} 1&0\ k&1\ \end{bmatrix}
A
=
[
1
k
0
1
] ,类似上面的分析,这里就不具体讨论了
缩放变换:
水平缩放变换:
A
[ k 0 0 1 ] A=\begin{bmatrix} k&0\ 0&1\ \end{bmatrix}
A
=
[
k
0
0
1
] ,根据矩阵乘法,列向量(基向量)的观点,很容易看出,此时是x方向的基向量缩放k倍,但新的基仍保持正交,所以矩形角度不会变化,只有长度变化,可以根据水平剪切的示例做出相应的图像分析,这里不再赘述。
垂直缩放变换:
A
[ 1 0 0 k ] A=\begin{bmatrix} 1&0\ 0&k\ \end{bmatrix}
A
=
[
1
0
0
k
]
对称变换:
水平对称变换:
A
[ − 1 0 0 1 ] A=\begin{bmatrix} -1&0\ 0&1\ \end{bmatrix}
A
=
[
−
1
0
0
1
]
垂直对称变换:
A
[ 1 0 0 − 1 ] A=\begin{bmatrix} 1&0\ 0&-1\ \end{bmatrix}
A
=
[
1
0
0
−
1
]
根据以上基础的变换组合(相乘)可以得到更加一般的矩阵,即任意矩阵可以看成一些基础线性变换的组合。
参考资料:
《线性代数及其应用》David.C.Lay
《线性代数》李尚志