问题:两条平行线可以相交。

齐次坐标介绍_2d

铁路变窄,在地平线上相遇。

在欧几里得空间(几何)中,同一平面上的两条平行线不能相交,也不能永远相交。这是每个人都熟悉的常识。

然而,在投影空间中则不再如此,例如,侧面图片中的火车铁路在远离眼睛的同时变得更窄。最后,两条平行的轨道在地平线上相遇,这是无穷远处的一个点。

欧几里得空间(或笛卡尔空间)很好地描述了我们的 2D/3D 几何,但它们不足以处理射影空间(实际上,欧几里德几何是射影几何的一个子集)。二维点的笛卡尔坐标可以表示为( x, y )。

如果这个点远离无穷远呢?无穷远处的点将是 (∞,∞),它在欧几里得空间中变得毫无意义。平行线在射影空间中应该在无穷远处相交,而在欧几里得空间中则不能。数学家已经找到了解决这个问题的方法。

解决方案:齐次坐标

August Ferdinand Möbius 引入的齐次坐标使投影空间中的图形和几何计算成为可能。齐次坐标是用 N+1 个数字表示 N 维坐标的一种方式。

为了制作二维齐次坐标,我们只需在现有坐标中添加一个额外的变量w。因此,笛卡尔坐标中的点(X, Y)变为齐次坐标中的(x, y, w)。而笛卡尔坐标中的X和Y用Homogeneous 中的x、y和w重新表示为;
X = x/w
Y = y/w

例如,笛卡尔坐标 (1, 2) 中的点在 Homogeneous 中变为 (1, 2, 1)。如果点 (1, 2) 向无穷远移动,则它在笛卡尔坐标中变为 (∞,∞)。它在齐次坐标中变成 (1, 2, 0),因为 (1/0, 2/0) ≈ (∞,∞)。请注意,我们可以在不使用“∞”的情况下表示无穷远处的点。

为什么叫“同质”?

如前所述,为了将齐次坐标(x, y, w) 转换为笛卡尔坐标,我们只需将x和y除以w;
 

齐次坐标介绍_二维_02



将 Homogeneous 转换为 Cartesian,我们可以发现一个重要的事实。让我们看下面的例子;
 

齐次坐标介绍_齐次坐标_03


如您所见,点 (1, 2, 3), (2, 4, 6) 和 (4, 8, 12) 对应于同一个欧几里得点 (1/3, 2/3)。并且任何标量积,(1a, 2a, 3a) 都与欧几里得空间中的 (1/3, 2/3) 相同。因此,这些点是“齐次的”,因为它们代表欧几里得空间(或笛卡尔空间)中的同一点。换句话说,齐次坐标是尺度不变的。

 

证明:两条平行线可以相交。

考虑欧几里得空间中的以下线性系统;
 

齐次坐标介绍_二维_04


我们知道由于C ≠ D,上述方程没有解。
如果C = D,则两条线相同(重叠)。

让我们通过将x和y分别替换为x/w、y/w来重写射影空间的方程。
 

齐次坐标介绍_标量_05


现在,我们有一个解(x, y, 0)因为(C - D)w = 0, ∴ w = 0。因此,两条平行线在(x, y, 0)处相交,这是无穷远处的点。

齐次坐标是计算机图形学中非常有用的基本概念,例如将 3D 场景投影到 2D 平面上。