问题:两个平行的直线能够相交

在欧式几何空间中,两条平行的直线是不能相交的,然而,在投影空间中,是可以相交的。比如下图的铁路,在无穷远的地方交为一点。
齐次坐标系(homogeneous coordinates)
欧式几个空间(或称为笛卡尔空间)能够很好地描述2/3维几何模型,但是不能很好地解决投影空间。实际上欧式几何是投影几何的一个子集。

例如在笛卡尔坐标系中,一个2维点可以表示为(x,y)(x,y)。如果这个点事无穷远,该怎么表示呢?无穷远的点应该表示为(,)(\infty,\infty),这样的表示毫无意义。

投影空间中,两个平行的直线相交于无穷远的一点,这在欧式空间中是无法表示的,但是数学家们已经找到了方法来解决这个问题。

解决方法:齐次坐标系(homogenous coordinates)

齐次坐标系将N维坐标用N+1个数字来表示。

例如,将一个2维点用齐次坐标系来表示,我们只需要添加一个ww。这时,笛卡尔坐标系中的点(X,Y)(X,Y)就变成了齐次坐标系中的(x,y,w)(x,y,w)。它们的对应关系如下:
X=x/wY=y/w \begin{aligned} X &= x/w \\ Y &= y/w \end{aligned}

举一个具体的例子,笛卡尔坐标系中的二维点(1,2)(1,2),在齐次坐标系中可以表示为1,2,11,2,1。如果点(1,2)(1,2)移动到无限远(,)(\infty,\infty),那么在齐次坐标系中就变为(1,2,0)(1,2,0)
注意,我们可以不使用\infty,表示无限远的点了。

为什么称为“齐次”(homogenous)?

按前面所说,笛卡尔坐标系与齐次坐标系的变化公式是:
齐次坐标系(homogeneous coordinates)
下面看一个例子:
齐次坐标系(homogeneous coordinates)
正如例子所表述的,齐次坐标系中的任何标量乘法都表示欧式空间中的同一个点,即:
a(x,y,w)=>(X,Y) a*(x,y,w) => (X,Y)
也就是说齐次坐标系具有缩放不变性。

证明:两个平行的直线可以相交

考虑欧式空间中的两个平行直线
齐次坐标系(homogeneous coordinates)
我们知道,如果CDC\neq D,方程是没有解的,也就是说两条平行的直线没有交点。

我们可以引入ww,使用齐次坐标系来重写方程:
齐次坐标系(homogeneous coordinates)
这个方程的解是:(x,y,0)(x,y,0),因此两条直线相交于点(x,y,0)(x,y,0),也就是无穷远的点。

总结

齐次坐标系在计算机图像领域非常有用,比如将3维物体投影到2维平面中。

相关文章: