上周午饭时间在办公室,听到了我们班里同学讨论的下面这个有意思的“信用卡作图问题”:
假设我们手里只有一张信用卡作为作图工具,只有两种允许的操作:
(1) 将平面上两个相距“不太远”(即小于信用卡边长)的点用直线相连;
(2) 从一点出发,“瞄准”任意远处的任一开区域(例如一个小圆)作射线。可以保证作出的射线延长后将与此区域相交,不过由于误差的原因,无法事先预知交于哪一点。
注意在操作(2)中,瞄准的目标只能是面积大于零的区域(即,视角范围为长度大于零的区间),而不能是单个的点。
因此,提出的问题就是:在如上假设下,能否通过“信用卡作图”将平面上相距任意远的两个点用直线相连?
为了回答这个问题,首先注意到,我们可以延长任何一条已有的线段到任意远:只需要在线段上靠近一端端点处任取两个点,将这两点放在信用卡直边上靠近一端,连接起来并继续往前延长画一段距离,然后重复上述过程即可。
接下来的构造需要用到下面的平面几何(射影几何)定理:如图所示,任给两条直线α、β,在α上任取两点A、C,在β上任取三点X、Y、Z。连接AX、AY、AZ得直线l_1、l_2、l_3,连接CX、CY、CZ得直线m_1、m_2、m_3。在直线l_i、l_j、m_i、m_j围成的四边形中,连接不含有X、Y、Z三点的另外一条对角线。则对(i,j) = (1,2), (1,3), (2,3),如此得到的三条直线(图中的绿色虚线)将会交于同一点B,且B落在直线α上。
回到我们的问题。假设我们要连接点A与B。首先通过瞄准B附近的一个小区域,过A作足够靠近的两条射线l_1、l_2并延长至充分远。同理,瞄准A附近的一个小区域,过B作足够靠近的两条射线m_1、m_2并延长至充分远。l_1与m_1交于X,l_2与m_2交于Y。由于X与Y足够靠近,我们可以直接用信用卡将它们相连并向两边延长得直线β。
下面,在直线β上X与Y之间任取一点Z。只要使直线l_1、l_2足够靠近B,m_1、m_2足够靠近A,就可以保证线段AZ、BZ的长度都小于AB的长度(事实上,它们只比AB长度的一半略多一点)。于是,通过归纳法,我们可以连接AZ与BZ!
记AZ所在直线为l_3,BZ所在直线为m_3。接下来只要像定理中那样,连接l_1、m_3交点与m_1、l_3交点,连接l_2、m_3交点与m_2、l_3交点,这两条直线(下图中绿色虚线)交于一点C,则C必然位于直线AB上!
最后,使用归纳法,我们可以通过同样的方法,用直线连接AC和CB这两段长度小于AB长度的线段。于是,大功告成!