2D射影几何与变换(1)
这篇主要介绍在2D射影空间中,点、直线与二次曲线的相关概念。
射影几何的核心在于从更高的维度看2维世界,从而可以得到很好的一些性质。
点与直线
直线
平面上的直线可以用 a x + b y + c = 0 ax+by+c=0 ax+by+c=0来表示,那么就可以用向量 ( a , b , c ) T (a,b,c)^T (a,b,c)T来表示一条直线,称为直线的齐次向量,因为 ( a , b , c ) T (a,b,c)^T (a,b,c)T和 k ( a , b , c ) T k(a,b,c)^T k(a,b,c)T表示同一个直线。具有这种齐次性的向量称为齐次向量, I R 3 IR^3 IR3中这样的向量集合(除去 ( 0 , 0 , 0 ) T (0,0,0)^T (0,0,0)T)就构成是射影空间 I P 2 IP^2 IP2。
点
对于点 ( x , y ) (x,y) (x,y),它在直线上的充要条件是 a x + b y + c = 0 ax+by+c=0 ax+by+c=0,也就是 ( a , b , c ) ( x , y , 1 ) = 0 (a,b,c)(x,y,1)=0 (a,b,c)(x,y,1)=0,所以显然点在 I P 2 IP^2 IP2的齐次坐标为 ( x , y , 1 ) (x,y,1) (x,y,1),该坐标也满足齐次性,对于坐标 x = ( x 1 , x 2 , x 3 ) x=(x_1,x_2,x_3) x=(x1,x2,x3)表示 I R 2 IR^2 IR2上的点 ( x 1 / x 3 , x 2 / x 3 ) (x_1/x_3,x_2/x_3) (x1/x3,x2/x3)。
直线的交点 x = l × l ′ x = l \times l' x=l×l′
点连成的直线 l = x × x ′ l = x \times x' l=x×x′
理想点
当我们考察两平行直线
a
x
+
b
y
+
c
=
0
,
a
x
+
b
y
+
c
′
=
0
ax+by+c=0, ax+by+c'=0
ax+by+c=0,ax+by+c′=0的交点时,得到交点为
(
c
′
−
c
)
(
b
,
−
a
,
0
)
(c'-c)(b,-a,0)
(c′−c)(b,−a,0),显然该点不和二维平面空间上的任何点对应,而一般认为平行线交于无穷远点,所以将
x
3
=
0
x_3=0
x3=0的齐次坐标点看作无穷远点,也称为理想点。同时有
I
P
2
IP^2
IP2的另一个解释,即将
x
3
!
=
0
x_3!=0
x3!=0的齐次坐标对应的
I
R
2
IR^2
IR2中的有限点的集合加入
x
3
=
0
x_3=0
x3=0的点,扩充的集合作为射影空间。可以验证,所有理想点构成一条直线
I
=
(
0
,
0
,
1
)
T
I=(0,0,1)^T
I=(0,0,1)T,即无穷远直线。
向量
(
b
,
−
a
)
(b,-a)
(b,−a)与直线
a
x
+
b
y
+
c
=
0
ax+by+c=0
ax+by+c=0的法线相切,所以是直线的方向,所以无穷远直线可以看作是所有直线方向的集合。
从 I R 3 IR^3 IR3看 I P 2 IP^2 IP2
I
P
2
IP^2
IP2中的点可以看作
I
R
3
IR^3
IR3中过原点的射线,因为其满足齐次性,即在
I
R
3
IR^3
IR3中不管长度,方向决定一个点,同样,
I
P
2
IP^2
IP2中的线可以看作
I
R
3
IR^3
IR3中过原点的平面。
自由度
I P 2 IP^2 IP2中元素的自由度往往是其向量维度减1,因为要满足齐次性,所以是由比率来确定唯一性的。
对偶性
在 I P 2 IP^2 IP2中,任何定理都有一个对偶定理,可以通过互换点和线的角色来得到。如上文中直线的交点和点连成的直线。
二次曲线
在欧式几何中,二次曲线是不同平面与圆锥的截线,方程为
a
x
2
+
b
x
y
+
c
y
2
+
d
x
+
e
y
+
f
=
0
ax^2+bxy+cy^2+dx+ey+f=0
ax2+bxy+cy2+dx+ey+f=0,齐次化(
x
−
>
x
1
/
x
3
,
y
−
>
x
2
/
x
3
x->x_1/x_3, y->x_2/x_3
x−>x1/x3,y−>x2/x3)得到
a
x
1
2
+
b
x
1
x
2
+
c
x
2
2
+
d
x
1
x
3
+
e
x
2
x
3
+
f
x
3
2
=
0
ax_1^2+bx_1x_2+cx_2^2+dx_1x_3+ex_2x_3+fx_3^2=0
ax12+bx1x2+cx22+dx1x3+ex2x3+fx32=0,可以写成矩阵
x
T
C
x
=
0
x^TCx=0
xTCx=0,其中
C
=
[
a
b
/
2
d
/
2
b
/
2
c
e
/
2
d
/
2
c
/
2
f
]
C=\left[ \begin{matrix} a & b/2 & d/2 \\ b/2 & c & e/2 \\ d/2 & c/2 & f \end{matrix} \right]
C=⎣⎡ab/2d/2b/2cc/2d/2e/2f⎦⎤
所以每一个对称矩阵都是一个二次曲线,因为其自由度为5,可以通过5个点来确定。
与二次曲线相切于x的直线满足 I = C x I = Cx I=Cx
对偶二次曲线
由对偶性,可以得到用直线定义的二次曲线
l
T
C
∗
l
=
0
l^T C^{*} l=0
lTC∗l=0,其中
C
∗
C^{*}
C∗是C的伴随矩阵,对于可逆对称阵,
C
∗
=
C
−
1
C^{*}=C^{-1}
C∗=C−1,对偶二次曲线是由直线与二次曲线相切得到的,也就是说它的元素是与二次曲线相切的直线,而二次曲线的元素是点。对偶二次曲线是直线族,而对应的二次曲线是这些直线的包络。
退化二次曲线
如果C不满秩,则二次曲线是退化的,为两条直线(rank2)或一条重线(rank1)。
例如:
C
=
l
m
T
+
m
l
T
C=lm^T + ml^T
C=lmT+mlT
是由两条直线
l
l
l和
m
m
m构成,属于退化的二次曲线(Rank=2)。