目录

多视图几何-从线性变换到射影变换-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 满足以下条件:

  1. 对于任意向量

    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)平行性

https://i-blog.csdnimg.cn/direct/523de38b21b44b9dbe90a4652bf79283.jpeg

设直线

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 的变化情况。

https://i-blog.csdnimg.cn/direct/1c661f30aab642989377aaa8bf9594b6.jpeg

剪切变换:

  • 水平剪切变换

    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方向新的基:

https://i-blog.csdnimg.cn/direct/bb3146f1f5754295a27bfa0c120c7065.jpeg

由于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 变成如下形式:

https://i-blog.csdnimg.cn/direct/2b98369468694a808c303acdb91a4e92.jpeg

  • 垂直剪切变换

    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

《线性代数》李尚志