写在前面:齐次坐标就是用N+1维来代表N维坐标的一种形式,具有尺度不变性。
在欧氏几何空间中每一个点都是具有唯一的表示,例如(1/3,2/3),但是在投影空间中表示是不同的,可以表示为(1/3,2/3,1),(1,2,3),(2,4,6)…(1a,2a,3a);但是转换到欧式空间中,均表示是同一个点(1/3,2/3),所以说他们是齐次的,或者我们可以 根据 Homogeneous :即 同质的;
- 齐次坐标是什么?
齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指一个用于投影几何里的坐标系统,如同用于欧氏几何里的笛卡儿坐标一般。那为什么需要添加额外的一维向量呢?可以从下面问题着手:
1 、问题:两条平行线可以相交于一点
在欧氏几何空间(Euclidean space),同一平面的两条平行线不能相交,这是我们都熟悉的一种场景。然而,在**投影空间(projective space)**里面,两条平行线可以相交,例如:火车轨道随着我们的视线越来越窄,最后两条平行线在无穷远处交于一点。
欧氏几何空间(Euclidean space)(或者笛卡尔空间(Cartesian space))描述2D/3D几何非常适合,但是这种方法却不适合处理**投影空间(projective space)**的问题(实际上,欧氏几何(Euclidean geometry)是投影几何(projective geometry)的一个子集合),2维笛卡尔坐标可以表示为(x,y)。
如果一个点在无穷远处,这个点的坐标将会(∞,∞),在欧氏几何空间(Euclidean space),这变得没有意义。平行线在**投影空间(projective space)的无穷远处交于一点,但是在欧氏几何空间(Euclidean space)**却不能,数学家发现了一种方式来解决这个问题。
2、方法:齐次坐标
August Ferdinand Möbius 引入的齐次坐标使 投影空间(projective space 中的图形和几何计算成为可能。 齐次坐标就是用N+1维来代表N维坐标。
为了制作二维齐次坐标,我们只需在现有坐标中添加一个额外的变量 w。 因此,笛卡尔坐标中的点 (X, Y) 变为齐次坐标中的 (x, y, w)。 而笛卡尔坐标中的 X 和 Y 用 Homogeneous 中的 x、y 和 w 重新表示为;
3、为什么叫齐次坐标
如前所述,为了将齐次坐标 (x, y, w) 转换为笛卡尔坐标,我们只需将 x 和 y 除以 w;
转化齐次坐标到笛卡尔坐标的过程中,我们有一个发现,例如:
如您所见,点 (1, 2, 3), (2, 4, 6) 和 (4, 8, 12) 对应于同一个欧几里得点 (1/3, 2/3)。 并且任何标量积,(1a, 2a, 3a) 都与欧几里得空间中的 (1/3, 2/3) 相同。 因此,这些点是“齐次的”,因为它们代表欧几里得空间(或笛卡尔空间)中的同一点。 换句话说,齐次坐标是尺度不变性。
4、证明:两条直线可以相交
考虑欧几里得空间中的以下线性方程组;
并且我们知道上面的方程没有解,因为C≠D。如果C = D,那么两条线是相同的(重叠)。
让我们通过将 x 和 y 分别替换为 x/w、y/w 来重写射影空间的方程。
现在,我们有一个解,(x, y, 0) 因为 (C - D)w = 0, ∴ w = 0。因此,两条平行线在 (x, y, 0) 处相交,即无穷远处的点 .