齐次坐标是一种坐标系,用 个数表示 维空间中的一个点;若两组数相差一个共同的非零因子,它们就表示同一个点。齐次坐标是射影几何的基础:普通点和无穷远点都可以用有限的坐标值描述。它还允许通过矩阵乘法表示平移和透视变换,因此在计算机图形学和计算机视觉中十分有用。(e.math.cornell.edu)
定义
设 为一个域,例如实数域或复数域。射影空间 由 中的非零数组按以下等价关系归类而成:
因此,一个点就是一个等价类,通常记作
其中各分量就是该点的齐次坐标。全零数组不包括在内,因为它不能确定一个一维子空间。等价地,射影点对应于向量空间 的一维线性子空间。(ocw.mit.edu)
例如,
它们是同一个点的不同代表,而不是三个不同的点。额外的坐标引入的是尺度上的冗余,并非额外的几何维度。(e.math.cornell.edu)
仿射坐标与无穷远点
当 时,除以 就得到普通坐标:
反过来,普通点 可以表示为
这样就将一个仿射空间与射影空间中 的部分对应起来。通过除法恢复普通坐标的过程称为去齐次化;在图形学中,相应操作常称为透视除法。(visionbook.mit.edu)
满足 的点位于无穷远超平面上。在实射影平面中,点 表示一组平行仿射直线的共同方向。方向相反的向量确定同一个射影方向,因为 。这些点的齐次坐标是有限的,但在所选坐标图中没有有限的仿射坐标。(ocw.mit.edu)
有限点与无穷远点的区别取决于所选的仿射坐标图。任何非零坐标都可以归一化为 ,由此得到的 个坐标图覆盖整个射影空间。集合 是一个与 同构的超平面;在选定坐标图之前,它在内在意义上并无特殊地位。(ocw.mit.edu)
直线、关联与交点
在射影平面中,直线的方程为
其中 。其系数也只确定到一个共同的非零因子。将点写成 ,将直线的系数写成 ,则点与直线的关联关系可表示为
对于两个不同的点,连接它们的直线可以用它们的叉积表示:
类似地,两条不同直线的交点为
这些公式以同样的方式处理有限交点和无穷远交点,也体现了射影几何中点与直线之间的对称性。(homepages.inf.ed.ac.uk)
例如,平行的仿射直线 和 的系数向量为
它们的叉积为 ,所以射影交点为 ,即无穷远处的水平方向。如果两条直线重合,其系数向量成比例,叉积为零,因而不能确定唯一的交点。这些结论可直接由关联关系的公式得出。(homepages.inf.ed.ac.uk)
变换的矩阵表示
仿射变换
一个仿射映射
可以在齐次坐标中表示为
这使平移成为更高维坐标空间中线性映射的一部分。非零平移不能用作用于 的普通 线性变换表示,因为任何线性映射都保持原点不变。(cs.cmu.edu)
例如,沿 平移所用的矩阵为
旋转、缩放和错切也有类似的表示。连续进行的变换可以通过矩阵乘法合成。采用列向量约定时,先施加 ,再施加 ,得到的合成矩阵为 ;变换的先后顺序通常会影响结果。二维变换使用 矩阵,三维变换使用 矩阵。(cs.cmu.edu)
射影变换
可逆的 矩阵 通过下式定义射影变换:
将 乘以一个非零标量不会改变这一变换。在二维情形中,将矩阵元素记作 ,可得
因此,对齐次坐标代表所做的线性运算,在仿射坐标中成为分式变换。分母为零意味着变换后的点位于目标坐标图的无穷远处,而不是射影变换没有定义。(pages.mtu.edu)
射影变换保持直线和关联关系,但通常不保持欧几里得长度、角度或平行性。因此,齐次坐标本身并不能提供欧几里得空间的度量结构。(pages.mtu.edu)
透视成像
理想透视相机使用一个 矩阵,将三维点映射到二维图像:
这里, 描述相机内参, 和 描述从世界坐标到相机坐标的变换。因子 体现了图像点的坐标代表所具有的任意尺度。齐次记法将坐标变换和透视投影整合到一个矩阵方程中。(docs.opencv.org)
这种相机投影不同于可逆的射影变换:它的矩阵不是方阵,同一条视线上的多个场景点可能产生同一个图像点。相机中心被映射为零向量,因此没有定义明确的图像点。齐次坐标使这些区别清晰可见,而不是消除它们。(16385.courses.cs.cmu.edu)
齐次多项式方程
在代数几何中,齐次坐标与齐次多项式配合使用。如果一个 次多项式 的每个单项式的总次数都是 ,则称其为齐次多项式,并有
它的数值通常取决于所选的代表,但条件 与代表的选择无关。因此,齐次方程能够定义射影空间中明确的子集。(math.mit.edu)
总次数为 的仿射多项式 可以通过构造下式进行齐次化:
展开后,所得表达式是一个多项式,在 时也有定义。例如,圆的方程
变为射影圆锥曲线
令 即可恢复仿射方程;令 则可确定其无穷远点。对于多项式方程组,求射影闭包时需要谨慎:仅将选定的一组生成元齐次化,可能会在无穷远处引入不需要的分支。(math.mit.edu)
历史发展
奥古斯特·费迪南德·莫比乌斯在其1827年的著作《重心演算》(Der barycentrische Calcul)中引入了齐次坐标。他的方法与重心坐标有关,后者通过赋予参考点的权重来描述点的位置。尤利乌斯·普吕克于1831年修改了这一坐标框架,推动了如今用于实射影平面的表示方式的发展。这些进展将几何变换与代数坐标方法联系起来。(notes.math.ca)
局限与约定
齐次坐标是一种冗余表示,因此普通向量运算需要加以解释。将任意选取的代表相加,并不能定义射影点的内在加法:把其中一个代表换成它的标量倍数,可能改变相加后得到的点。同样,也不能直接从任意齐次坐标数组计算欧几里得距离。这类运算需要选定一个仿射坐标图,并在必要时引入额外的度量结构。(visionbook.mit.edu)
不同约定会将齐次化坐标放在首位或末位,并采用行向量或列向量。相应的矩阵公式必须作一致的调整。最重要的是,追加 只能表示某个特定仿射坐标图中的有限点;完整的坐标系还包括齐次化坐标为零的非零数组。(ocw.mit.edu)
参考来源
- CSP problems 1e.math.cornell.edu
- 38 Representing Images and Geometry – Foundations of Computer Visionvisionbook.mit.edu
- 782 Arithmetic Geometry Lecture Note 13ocw.mit.edu
- Introduction and course overviewcs.cmu.edu
- Manipulating Points and Lineshomepages.inf.ed.ac.uk
- Geometric Transformationspages.mtu.edu
- Massachusetts Institute of Technology — Algebraic Geometry Notesmath.mit.edu
- Geometric Transformations, 1800–1855 – CMS Notesnotes.math.ca