对齐次坐标的初步理解

齐次坐标

最先看到齐次坐标的用处是在每个平面点坐标都多一个分量“1”的前提下用一个统一的矩阵表达平面内刚体的平移与旋转运动,这种点坐标的基本形式是。这比用直观的二维点坐标做等效的变换来得更方便。然而若仅仅是看似单纯的数字把戏,可能实在没有必要把坐标写得麻烦一些。所以进一步地查阅了一些资料,有几个论点留下了比较直观的印象:

1.平面内两条平行直线交于无穷远点(射影几何),欧式直线再加上一个无穷点就是射影几何中的直线(欧式平面也可以作类似的拓广);

2.可以将平面内刚体的平移看做它绕无穷远点的旋转;

先从第一个论点开始。

用齐次坐标描述平面内的点,最直观的理解是将(拓广)平面内的点看作是从三维欧式空间的原点发出的射线在标准平面z=1上的投影点。基本想法是将某一点经由通过它的射线投影到一个平面上,这构成了一种映射:过原点的射线L->投影平面上的点P。而且从这个角度也更容易感受所谓的“无穷远点”——设想现有一投影平面和平面外一个点,如果经过这一点的射线平行于投影平面,那么从欧式几何的观点看,我们得不到一个“投影点”(既然认为是平行的,就没有交点,也写不出坐标来)。我们有两种选择:一种做法是在定义域(过原点的直线组成的集合)中去除与投影平面平行的直线(在三维欧式空间内位于z=0平面内),不过这样并没有出现新的东西:每一条射线与z=1的交点都可以用两个数字写出坐标来,依然无法描述无穷远处的点。而另一种做法吸取了更“开放”的观点:认为平面内两条平行直线交于无穷远点。这样,映射L->P的定义域里面包含了之前被去除的直线,而值域中也多了所谓“无穷远点”,但问题马上来了:我们不能用两个数字来描述{P}里面的所有点。欧式空间给我留下最深的印象就是从基本的元素——点——开始来构建一个个复杂程度不同的几何对象,并且我们可以利用有利的解析工具——点的数字坐标——来写出简洁的方程式描述各种图形,但是这种描述不能描述一些比较极端的情形——比如无法描述(距离原点)无穷远处的情形。上面对齐次坐标的“直观分析”启发了一个新的想法:既然标准投影平面上的点可以看做是过原点射线的映射的“象”,那么为什么不用这些点(包括无穷远点)的“原象”——过原点的射线(包括与投影面平行的)——来描述这些点呢?

想法就是这样,用三维欧式空间里的射线丛描述拓广二维平面上的点(这被称为“拓广平面的线丛模型”)。应当注意一点:射线丛里的每一条直线(能与投影面有交点的和与投影面平行的,“充满”了的一半)与投影面(拓广平面)上的点(包括无穷远点)一一对应,而且每个方向都有无穷远点。

不过直线也要用数字来描述,里面过原点的射线要用三个数字来描述,可以想象一个过原点的矢量(对模长没有限制)在三个坐标轴上分别有其投影,可记做。对于射线与投影面有交点的情形,这三个数字是容易理解的:可以选择“过原点的矢量”的端点为射线与投影面的交点,这样表示这些点同在标准投影平面内,而对于拓广平面上无穷远处的点,虽然不能这样解释,但是这个矢量依然能写出来,只有一点不同,即。   

由于这里写出的矢量是没有限制模长的,所以三个坐标值可以同时乘以一个比例常数k,得到的新坐标依然表示同一射线、映射至拓广平面上同一个点,这是“齐次性”的表现。

这里就有了更一般的拓广平面上点的齐次坐标:。它不与笛卡尔坐标冲突,既能描述平面上的一般点,也能描述无穷远点。

这样更具一般性的坐标肯定有解析上的优点。先来试试平面内点与直线位置关系的描述。直线方程的等价描述:=>,不过后者的意义更丰富,因为允许x3=0,而且平行直线的交点也有了方程解:

;(其中)。这两平行直线方程的联立解为:(无穷多个代数解中的一个),表示两直线共有方向上的无穷远点,在这个意义上,两条直线都是拓广的直线,它们包含自身方向上的无穷远点。而这种解在传统的直线方程描述情形下是无解的。

现在写出的拓广平面上的直线方程形式比较对称,可以从符号上做一点改动:,这个式子好像完全把拓广平面上的点与直线放在了对等的地位,这可能比齐次坐标描述下欧式二维平面得到拓广更有深刻意义,可以对它展开一些联想:

这个方程在描述一条直线时,是常数,这代表了所有位于这条直线上的点应该满足的条件。那如果是常数呢?显然就代表了所有通过这一点的所有直线应该满足的条件。的意义可以解释为点在直线上,也可以解释为直线过一点。其实也可以看做是拓广平面上的“直线坐标”,每一组这样的值可以映射为一条拓广直线。拓广平面上点与直线有“平等的地位”,这正是线几何的观点:定直线可以看做动点的轨迹,定点可由动直线的包络而成,这是几何意义上的对称。

此外,基于“对称”的想法,既然拓广平面上有无穷远点,那么无穷远处的直线存不存在呢?答案是肯定的,而且可以自然而然地猜想它的坐标或者方程,从直线方程的角度理解,所有无穷远点连成了一条无穷远的直线,而且它具有唯一的齐次坐标。

我们曾经习惯于用y=kx+b来描述二维欧式平面上的直线,但是很明显,这样由kb来确定一条直线的方法并不完整,比如不能描述与横轴垂直的直线。直线的齐次坐标没有这种缺陷。

最后,还有一点值得注意:任意写出三个数字,它们的组合既可以代表拓广平面内的点,也可以代表拓广平面内的直线,那么相同齐次坐标所代表的这两种不同元素(L,P)有什么几何关系呢?对于一般点(出去原点与无穷远点)与一般直线(除去无穷远直线),意义是明显的:OPL正交,|OP|与原点距直线的距离之积为1,这可以方便地用图形表示。而剩下的[0,0,1]则同时代表了原点与无穷远直线,它们二者是通过相同齐次坐标对应的,这时|OP|=0,但是L在无穷远处。

你可能感兴趣的:(Robot)