齐次坐标系是投影几何中使用的坐标系统,其做法是把一个 n 维向量用 n+1 个数的有序组表示,且这些数可以整体乘上任意非零常数而不改变所代表的几何对象。与欧氏几何中的笛卡儿坐标相比,它的关键特点在于能够用有限的数值表示无穷远点,并使平移、旋转、缩放与投影等变换统一写成矩阵乘法。该概念由德国数学家奥古斯特·费迪南德·莫比乌斯于 1827 年引入,如今在计算机图形学与三维计算机视觉中被广泛采用。
定义
齐次坐标系是投影几何中用来表示点和直线等几何对象的一套坐标系统。射影空间中的一个点,对应一组不全为 0 的数所构成的等价类;这个等价类中的每一个有序组都称为该点的齐次坐标,例如三元组 (X, Y, Z) 表示射影平面上的一个点。
齐次坐标的核心性质是比例不变:把一组坐标的各个分量同乘一个非零常数,得到的仍是同一个点。两个齐次坐标表示同一个点,当且仅当其中一组可由另一组乘以某个非零常数得到;反过来,不同直线在同一组基底下的齐次坐标互不成比例[1]。
用齐次坐标表示 n 维射影空间的点,需要 n+1 个数。例如射影直线上的点用 2 个数表示,射影平面上的点用 3 个数表示。由于一个点有无穷多种等价的坐标写法,这套坐标也被称为冗余坐标[2]。
原理
从笛卡儿坐标到齐次坐标的映射很直接。二维平面上笛卡儿坐标为 $(x, y)$ 的点,对任意非零实数 $Z$,都可写成 $(xZ, yZ, Z)$;把前两个分量分别除以第三个分量,就能取回原来的笛卡儿坐标。因此点 $(1, 2)$ 既可写成 $(1, 2, 1)$,也可写成 $(2, 4, 2)$。
无穷远点是这套坐标的关键机制。在笛卡儿坐标中只能借无穷大记号 $\infty$ 来谈论的方向,在齐次坐标里可以写成第三个分量为 0 的向量 $(x, y, 0)$,并照常参与矩阵运算。考察一条过原点的直线 $nx + my = 0$,当动点沿该方向远离原点时,其齐次坐标趋于 $(m, -n, 0)$,这正是该方向上的无穷远点。所有无穷远点组成无穷远线,于是欧氏平面里平行的两条直线在射影平面中被视为在这条线上相交。
点与线的对偶性也随之出现。射影平面上的直线方程可写成 $sx + ty + uz = 0$,其中三元组 $(s, t, u)$ 本身又是该直线的齐次坐标,称为线坐标;同一关系式既可读作点的方程,也可读作线的方程。利用叉积,两点可以确定一条直线,两条直线可以确定一个交点,平行直线的交点自然落为无穷远点[3]。
坐标变换在齐次坐标下也获得统一形式。若用一个行列式非零的 3×3 矩阵 $A$ 左乘齐次坐标 $(x, y, z)$,得到的新三元组仍是同一点在另一组齐次坐标下的表示。更一般地,射影平面上的投影变换称为单应,可以用 $x_2 = Hx_1$ 这样的矩阵乘法写出;旋转、缩放、平移构成的相似变换与保持平行性的仿射变换,都是单应的特例[2]。
发展历程
齐次坐标由奥古斯特·费迪南德·莫比乌斯于 1827 年在其著作《Der barycentrische Calcul》中引入。此后,用齐次坐标与射影标架来建立射影坐标系成为射影几何的标准做法:在扩大欧氏平面上取一般位置的四个点作为基点,把由四个基点构成的基底中的齐次射影坐标赋予平面上每一点,并由此得出坐标三角形等概念[1]。
三维射影空间中为直线配置坐标较为复杂,尤利乌斯·普吕克提出用两个点的齐次坐标做行列式,得到 6 个分量来描述一条直线,称为普吕克坐标;普吕克嵌入把这一做法推广到 n 维射影空间中任意 m 维元素的齐次坐标表示。
进入 20 世纪后半叶,齐次坐标随着计算机图形学和计算机视觉的发展而进入工程实践。笛卡儿坐标中的平移需要额外的加法,而在齐次坐标下平移、旋转、缩放与透视投影都可以统一表示为矩阵与向量相乘的运算,这使它成为图形渲染管线与相机建模中的常规工具。
应用
在计算机图形学中,齐次坐标被用来统一处理几何变换。三维空间中的点用 4 个分量 (X, Y, Z, W) 表示,除以 W 后即得通常的坐标;这样平移、投影等运算都能并入同一套矩阵框架,而 W = 0 则用来表示方向或无穷远点[4]。
在三维计算机视觉与相机建模中,世界坐标系中的点经过相机的内外参数矩阵变换后投影到像平面,整个过程以齐次坐标形式写出;相机标定矩阵与外参矩阵 [R|t] 相乘得到投影矩阵 P[5]。双目视觉中描述左右图像对应点关系的对极约束,则由本质矩阵或基础矩阵给出,其元素本质上也是齐次坐标[5]。
在机器人学中,齐次坐标被用来表示刚体位置与姿态,空间中的点写作四维向量,其第 0 个分量在文献中被称为齐化坐标或权重,常取为 1。对于只提供方位信息的传感器(例如相机),用有限坐标直接建模无穷远点尤其方便[6]。
在代数几何中,齐次坐标用于处理相交计数问题。例如方程 $y = x^2$ 与 $x = 0$ 在仿射平面上只有一个交点,化为齐次形式后可以找到位于 (0, 1, 0) 的第二个交点;方程 $xy = 1$ 与 $x = 0$ 的情形同样要在齐次框架下才能定位其相交点。
局限
齐次坐标的表示并不唯一,同一个点对应无穷多组数值,这种冗余在某些场合会带来麻烦。用于表示不确定几何实体及其协方差矩阵时,冗余会导致分布的协方差矩阵奇异,需要专门处理。
第三个(或第 n+1 个)分量为 0 的坐标无法除以该分量还原为笛卡儿坐标,因此不能把工作完全限制在欧氏空间中;使用齐次坐标实际上意味着接受了射影平面的框架,其中包含无穷远元素,映射回普通平面时必须另行处理这些点[7]。
全零的有序组不表示任何点,需要作为例外排除;这一点在定义射影空间时表现为必须从 $\mathbb{R}^{n+1}$ 中剔除零向量。此外,齐次坐标下的函数与方程只有满足齐次性,即满足 $f(\lambda x, \lambda y, \lambda z) = \lambda^k f(x, y, z)$,才能良定义地对应到点上的函数和曲线。
在投影过程中深度信息会丢失,这也是齐次坐标用于相机模型时的一个内在限制:从三维世界到二维像平面的映射不可逆,要恢复深度必须借助双目或多视图的额外约束[5]。
参见
参考资料
- [丘维声]解析几何_text(PDF) [引用日期2026-10-14]
- Homogeneous Coordinate - Chapters and Articles [引用日期2026-10-14]
- 平面中的点和线的齐次坐标 | Bohrium [引用日期2026-10-14]
- 03oct2002.4up(PDF) [引用日期2026-10-14]
- d-nb.info 上的网页 [引用日期2026-10-14]
- Robot Mapping [引用日期2026-10-14]
- 15-869, 13 Sept 99 [引用日期2026-10-14]