虚圆点(circular points)
上一节讲到仿射变换中无穷远处的直线是固定的。而其上的点是不固定的。这很容易理解,对一条直线沿着它的切线方向平移,直线方程不变,但是上面的点的坐标却发生了变化。
然而,通过计算可以发现对于相似变换,无穷远处有两个共轭的理想点是固定的,即
我们把这两个点称为虚圆点。对于相似变换H,以点I为例,有
即相似变换不改变虚圆点坐标。
事实上,对于一个射影变换,如果它不使虚圆点发生改变,则它一定是一个相似变换。
虚圆点与圆
对任意一个圆
x21+x22+dx1x3+ex2x3+fx23=0
,它与
l∞
的交点满足
x21+x22=0
考虑到齐次坐标(0,0,0)没有意义。方程在代数上的解为I =
[1,i,0]T,J=[1,−i,0]T
即任意圆与无穷远处直线交于虚圆点。这也是它为什么得名。
虚圆点的对偶二次曲线
曲线
C∗∞=IJT+JIT
是虚圆点的对偶二次曲线。
带入I、J的坐标得到
显然,对偶二次曲线 C∗∞ 在相似变换下也是固定的,即
C∗∞′=HsC∗∞HTs=C∗∞
射影平面中的角度
定义了虚圆点的对偶二次曲线,我们就可以定义射影平面中的角度。
在欧氏几何中,直线
l=(l1,l2,l3)T
和
m=(m1,m2,m3)T
之间的角度为
显然,仿射变换后由此定义计算得到的l’,m’夹角可能发生变化。为在射影变换后依然能够计算出l与m之间的角度,我们可以使用相似的定义
验证在射影变换下由此定义计算出的角度不变很容易,只需利用直线、对偶二次曲线、点在H变换前后坐标的对应关系就好。举例来说,对分子项有
所以对于投影平面,如果我们能找到 C∗∞ ,那么就可以通过上式计算两点间的欧氏角度。
一个自然的推论是,当且仅当 lTC∗∞m=0 时l与m垂直。
射影平面中的线段比
如图为欧氏平面中的一个三角形,由高中几何知识可以知道
d(b:c):d(a,c)=sinα:sinβ
确定了
C∗∞
,可以确定α、β ,从而得到线段间的比值。
标定
综上,确定了射影平面中的 C∗∞ ,我们就可以确定图像的度量信息,从而消除射影变换的形变。事实上,这也是相机标定所做的事情,具体的实现方法在后面介绍。