计算机图形学中的正交透视——从平行线消失点开始

发布时间 2023-10-29 23:00:13作者: 日月久照

平行线消失点

在我们日常生活中,会发现这样一类现象:在照片或者图画上,原本是平行的物体(比如铁轨轨道,公路等)会随着他们的延伸逐渐相交于视野尽头,这个尽头就被称作消失点,类似于下面这幅图所显示的内容:

铁路图片

为什么原本平行的物体会出现这样的现象呢?我们可以从几何光学的角度直观的分析一下:
首先我们要大概了解眼球看到物体的过程:外界的光线进入眼球后成像的过程,是将一个外界的三维物体投影到视网膜上的过程,眼睛的成像过程可以近似为凸透镜,设u为物距,v为像距,f为焦距则满足公式:

\[\frac{1}{u}+\frac{1}{v}=\frac{1}{f} \]

我们以眼球凸透镜的光心为原点,由光心指向物体的方向为正向,建立一个右手系,对于任意一个点\((a_x,a_y,a_z)\),可知物距为\(u=a_z\),根据公式计算得到像距为

\[v=\frac{uf}{u-f}=\frac{a_zf}{a_z-f} \]

通过几何光学计算得到像的点为

\[\left( -\frac{f}{a_z-f}a_x,-\frac{f}{a_z-f}a_y,v \right) \]

在现实中,相比于外部空间,眼球和它的焦距都是非常小的,所以我们可以粗略的认为,像距和焦距相等的。接着运用变量代换可以发现,随着物体z轴的移动,在视觉平面上投影的线段为

\[y=\frac{a_y}{a_x}x \]

现在空间中有两个与z轴平行的线,那么它们投影在视觉平面上的直线也必然是\(y=Ax\)的形式。显然这些直线在视觉平面上必定相交与一个点\((0,0)\)。这样我们就找到了所有沿Z轴平行线的消失点。

这里需要指出的是,平行线的消失点和平行线的方向是有关系的,这里之所以恰好是\((0,0)\),根本原因是因为我选择的平行线方向和z轴平行,选择其他方向的平行线就会有其他的消失点。

参考资料

平行的铁轨,在人眼看来却似乎是相交的。任选坐标系,求人眼中2条相交铁轨的方程? - Johnny Richards的回答 - 知乎