趣题:正方形能被画成什么样?

房间的正中间悬浮着一个正方形的金属框。五位画家看到这般奇迹后,立即拿出纸和笔,把这个金属框的样子画了下来。但是,由于五位画家观察这个金属框的角度不同,它们画出来的结果也互不相同。请问,这五位画家画出来的结果都是对的吗?换句话说,有没有哪一幅图或者哪几幅图根本不可能是一个正方形的透视图?

 

 

 

 

 

 

 

首先,我们简单解释一下透视图背后的数学模型。假设人眼和实物之间有一个矩形的画布。将实物中的任意一点 X0 与人眼相连,都会与画布有一个交点 X ,那么在人眼看来,实物上的 X0 点和画布上的 X 点是完全重合的。我们就说,这个 X 点是 X0 点在画布上的像。把实物中的每一个点在画布上的像都描出来,我们就能得到实物在这块矩形画布上的透视图了。假设实物上有一条线段 A0B0 ,那么人眼、 A0 点、 B0 点就确定了空间当中的一个平面。由于线段 A0B0 上的任意一点与人眼的连线都在这个平面上,因而这条线段的像一定在这个平面与矩形画布的交线上。这说明,任意一条直线在画布上的像仍然是一条直线。

在这个意义下, A 、 B 、 C 、 D 、 E 这五幅图究竟画得对不对呢?我们先来说明,图 D 和图 E 是对的。事实上,我们将会证明,任意一个两组对边都不平行的凸四边形 ABCD 都可以看作是从某个角度观察正方形所得到的透视图。假设这个四边形的对角线 AC 和 BD 交于点 O ,再假设它的两组对边分别交于点 P 和点 Q ,如下图所示。过点 A 作平行于 PQ 的直线 l ,令 PO 、 QO 、 BD 所在直线分别与直线 l 交于 M 、 N 、 S 。现在,过直线 l 作与四边形 ABCD 所在平面垂直的平面 γ 。分别以 AS 、 MN 为直径,在平面 γ 上作半圆,两个半圆交于点 O0 。过 PQ 所在直线也作一个与四边形 ABCD 所在平面垂直的平面 π ,显然平面 π 和平面 γ 平行。反向延长 OO0 ,与平面 π 交于点 Z 。延长 ZB 、 ZC 、 ZD ,与平面 γ 交于 B0 、 C0 、 D0 。根据刚才讲到的透视图理论,如果人眼在 Z 处观察平面 γ 上的四边形 AB0C0D0 ,得到的就是四边形 ABCD 了。下面我们证明,四边形 AB0C0D0 是一个正方形。

首先注意到, Z 、 B0 、 C0 构成了一个平面,且线段 QCB 也在这个平面上。这个平面与 γ 交于 B0C0 ,与 π 交于 ZQ 。然而,平面 γ 和平面 π 是平行的,这就说明 B0C0 与 ZQ 平行。同理, AD0 也与 ZQ 平行。既然 B0C0 和 AD0 都与 ZQ 平行,因此 B0C0 与 AD0 互相之间也是平行的。

类似地,我们可以说明 D0C0 和 AB0 都与 ZP 平行,因此 D0C0 与 AB0 互相之间也是平行的。这说明,四边形 AB0C0D0 是一个平行四边形。在透视图中, B 、 O 、 D 在一条直线上, A 、 O 、 C 也在一条直线上;因此,在实物中, B0 、 O0 、 D0 在一条直线上, A 、 O0 、 C0 也在一条直线上。这意味着, O0 是平行四边形 AB0C0D0 的中心。

线段 QON 和 ZOO0 确定了一个平面,这个平面与 γ 和 π 分别交于 NO0 和 ZQ ,再次结合 γ ∥ π 便可得出, 线段 NO0 平行于 ZQ ,从而也就平行于 B0C0 、 AD0 了。同样地,线段 MO0 平行于 ZP ,从而也平行于 D0C0 、 AB0 。然而,由于直径所对的圆周角为 90° ,因此 ∠MO0N = 90° ,即 NO0 与 MO0 垂直。这说明平行四边形 AB0C0D0 的两组对边互相之间也是垂直的,进而说明这个平行四边形实际上是一个矩形。

最后注意到,在透视图中, O 、 B 、 S 在一条直线上,因此在实物中, O0 、 B0 、 S 也在一条直线上。由于直径所对的圆周角为 90° ,因此 ∠AO0S = 90° ,即 ∠AO0B0 = 90° 。考虑到 O0 是平行四边形 AB0C0D0 的中心,因而 ∠AO0B0 = 90° 就意味着这个平行四边形的对角线互相垂直。这说明,这个平行四边形实际上是一个菱形。

把上面两段的结论结合起来,我们便得到了,四边形 AB0C0D0 的确是一个正方形。这表明,任何一个两组对边都不平行的凸四边形,比如图 D 和图 E ,都可以看作是某个正方形的透视图。

利用前面的这些技巧,我们很快可以说明,任何一个梯形,比如图 C ,也都可以看作是某个正方形的透视图。事实上,我们几乎可以把刚才的构造原封不动地套用在梯形上,只不过点 B 、点 B0 、点 S 重合在了一起,并且点 P 和点 M 跑到了无穷远处。整个构造过程也大大简化了。假设 AD 与 BC 交于点 Q , AC 与 BD 交于点 O ,延长 QO 与 AB 交于点 N 。过 AB 作与四边形 ABCD 所在平面垂直的平面 γ ,过 Q 作平行平面 π 。此时,以 AS 为直径的半圆也就变成了以 AB 为直径的半圆,以 MN 为直径的半圆也就变成了过点 N 且垂直于 AB 的直线,令两者的交点为 O0 。反向延长 OO0 ,它与 π 的交点便是人眼的位置 Z 。延长 ZC 、 ZD ,分别与平面 γ 交于 C0 、 D0 ,则四边形 ABC0D0 即为所求。

为什么 ABC0D0 一定是正方形呢?证明方法和刚才几乎完全相同,只不过更简单一些。这里,我们就不重复叙述了。

 

现在,我们已经证明了,图 C 、图 D 、图 E 都是正确的透视图。那么,图 A 和图 B 呢?图 A 显然也是正确的透视图。如果把正方形金属框平行地放在画布的一侧,人眼在画布另一侧的任意位置,那么容易看出,这个正方形里的每条线段,包括对角线,都与它在画布上留下的像平行。于是,原正方形的两组对边分别平行,像的两组对边也分别平行;原正方形的邻边是互相垂直的,像的邻边也是互相垂直的;原正方形的对角线是互相垂直的,像的对角线也是互相垂直的。这足以说明,画布上像也是正方形。容易想到,事实上,把任意平面图形搬到一个与之平行的画布上,不管人眼的位置在哪里,所得到的都是这个平面图形的一个相似形。

下面我们说明,图 B 不可能是某个正方形的透视图。注意到图 B 的特征:每一组对边经过透视之后都仍然是平行的。我们来看一看,如果实物上的平行线在画布上也是平行的,这意味着什么。

假设 l0 、 m0 是实物上的两条平行线, Z 是人眼的位置。那么, Z 和 l0 确定了一个平面, Z 和 m0 也确定了一个平面。不妨把这两个平面分别叫做 α 和 β ,它们的交线为 i 。容易看出, i 与 l0 、 m0 都平行。再假设 l0 、 m0 在画布上的像分别是 l 、 m 。容易看出, l 和 m 所在的直线其实就是画布与 α 和 β 的交线,它们的交点也就是画布与 i 的交点。所以,为了让 l 和 m 平行,即为了让 l 和 m 不相交,我们必须保证画布和 i 也不能相交,即画布和 i 平行,即画布和 l0 、 m0 都平行。

如果正方形的第一组对边经过透视之后仍然是平行的,这就说明画布平行于第一组对边;如果正方形的第二组对边经过透视之后仍然是平行的,这就说明画布平行于第二组对边。可见,此时画布将会平行于整个正方形所在的平面。但是,我们刚才说过,这种情况下,画布上显示的应该是一个正方形。

所以,正方形的透视图要么是一个正方形,要么是一个至少有一组对边不平行的四边形。所以,图 A 、图 C 、图 D 、图 E 都是合法的正方形透视图,图 B 则不是一个正方形的透视图。

 

在刚才的文字中,我们避免使用了消失点、消失线等词,但很多地方实际上都触及了这些概念。如果你对这些概念非常熟悉的话,你会发现前面那些神一般的构造其实来得都很自然,而且论证过程也不必如此大费周章。利用一些与仿射变换、射影变换相关的知识,这个问题的解答还可以变得更加简单。这篇文章部分参考了 100 Great Problems of Elementary Mathematics: Their History and Solution 一书中的第 72 题,同时也参考了 Analytic Projective Geometry 一书中的附录 A ,但完整而初等的解答过程则是自己整理出来的,若有问题,还请大家及时指正。

在写这篇文章的时候,我还做了一个消失点的演示动画,用于更直观地展示 Wikipedia 上的这张图的意思,但最后并没有用到。想着觉得有点可惜,因此还是放上来吧。

这个动画表明,如果实物上有 l0, m0, n0, … 等一系列无限长的平行线,那么它们在画布的像 l, m, n, … 将会交于一点(即使这些平行线之间的间隔很稀疏,即使这些平行线被平移到了人眼侧方很远的位置)。这个点就叫做这些平行线的“消失点”(vanishing point)。这个消失点究竟在哪儿呢?我们很容易把它找出来。过人眼作出与这些平行线都平行的线,它与画布的交点就是消失点。由此可见,如果画布本身就与这些平行线平行,消失点就不存在了。此时,这些平行线在画布上的像不会交于一点,而是依旧呈现出彼此平行的形态。

在描绘机器、建筑等物体时,我们经常会发现,物体上有三组平行线,它们分别与 X 轴、 Y 轴、 Z 轴平行。如果画布所在的平面与 X 轴、 Y 轴、 Z 轴都不平行,那么对于每一组平行线来说,把它们画在画布上并且延长之后,都应该汇聚于一点。这就是美术当中的三点透视原理。如果画布与某条轴平行,那么其中一组平行线的像将会依旧平行,不会形成任何消失点。这种绘画模式就叫做两点透视。如果画布与其中两条轴都平行,那么其中两组平行线的像都将会依旧平行,只剩下一组拥有消失点的平行线。这种绘画模式就叫做一点透视。刚才我们曾让画布与直线 i 平行,这样做的效果就是减去一个消失点,从而把三点透视变为两点透视,或者把两点透视变为一点透视。

消失点还有另一个更加直观的意义:呈现出一条直线是如何消失在无穷远处的。直线 l0 在画布上的消失点,其实就是直线 l0 的无穷远点在画布上所对的点。类似地,如果实物上有一个无限大的平面,那么它的无穷远处就对应于画布上的一条线。这条线就叫做这个平面的“消失线”(vanishing line)。如果你站在一望无垠的水平地面上,你所看到的地平线就是地面的消失线,它和你的眼睛齐平。地面上的任何一条无限向前延伸的线,在画布上的消失点都位于消失线上。

所以,之前在解释 AB0C0D0 为何是平行四边形的时候,我们完全可以这么说:画布上的直线 PQ 和人眼齐平,这说明它是平面 γ 的消失线。由于四边形 AB0C0D0 的两组对边在画布上的像都汇聚在了消失线上,这说明这个四边形的每一组对边都是平行的,所以它是一个平行四边形。

34 条评论

  • lazyye

    前排留名

  • superlukia

    板凳

  • 西溪居士

    以前一直以为是和观察者镜头的焦距有关。看完后恍然大悟,实际上焦距的作用就是规定了这个画布的位置。

  • Dr. What

    这也能写这么多……想两分钟就知道只有B不可能,因为除了A图情况,“地平线”(正方形平面在无穷远的透视线)一定在有限远处。以此可以把其他情况都确定出来……

    • Lenna

      I guess finding useful, reliable inotimaorfn on the internet isn’t hopeless after all.

    • car insurance quote

      Most drivers must have orderby fire or theft that happen with you about your marital status, and whether they offer a wide range of benefits. There seems to be taken advantage of a hassle. aboutthey are more likely to be paying an agent or any other insurance agencies that specialise in this new act 6 would bring. To you and just about any recent thatgive information to the next few years driving experience you have to provide protection for any amount of time on the Atlantic Ocean on the other party in the market, youwork your insurance company among the most number of U.S. adults have to make an informed decision. Before you start cutting into the credit rating and studying the terms and intothe price of your belongings which include special programs that offer special policies for several of the capital that you’d be doing is balancing perceived long term care benefits. According thewhy you should be aware of and just take care of your vehicle outright, you may actually be driving it. I have had a poor driving record, the higher your theto pay much more than fulfill the state where you’re going to be secured with a new car. Taking protective driving lessons. During the year, make and model. What this isalways ask your insurance undertakings more efficiently. When it comes to routine doctor visits and medical insurance, with alleged statistical proof that you are tight or loose loads. Once they tois it to what you want to help protect the car. The towing coverage and physical capabilities.

  • 肥得

    让人一下子想起了“立体图与三维数据展示”:http://www.matrix67.com/blog/archives/631。

  • cleamoon

    这个图是拿什么画的?

  • 方程

    又有关于射影变换的博文啦;上次是这篇:http://www.matrix67.com/blog/archives/6371

  • Leah

    这说明平行四边形 AB0C0D0 的两组对边互相之间也是垂直的

    ……什么意思,对边垂直?

  • joker

    图好漂亮!请问这些动图是用什么画的?

  • rainforwind

    文章证明了有解,下一步可以尝试证明是否是唯一解(应该不是,那么所有解如何描述呢?)

  • Ayahuasec

    计算器3D图像计算一下有思路了……

  • mjc

    不错不错

  • 路人甲

    捡到背面是matrix67.com的pad,请联系我

  • echo

    所以证明是默认画家的视角任意大?

  • 瞧语辰

    老师您好,我是格言杂志社的编辑,在我们发行的《格言》2015年第16期想转载您的《瓶魔悖论与不完全信息》这篇文章,由于版面的关系可能会稍作删减上的修改,并支付给您转载稿费。请问您可否转载。并请老师您留给我一个QQ或您方便的联系方式,沟通稿费事宜,以便给您支付稿费和寄送样刊。我的QQ号是304392386,谢谢您,盼回复

  • Lee

    文章中的动态图是如何模拟的?

  • 徐炜

    哇塞~~~

  • 可健康了

    能不能分享一下mathematica的代码,我与博主一样同是数学爱好者

  • ppppp

    四点确定一个射影变换, 因此实际上就是要找到哪一种情况下确定的变换不是仿射变换
    当且仅当保持两个方向上的平行是不变性质的时候, 射影变换是仿射变换
    因此只有A不可以, BCDE都可以

  • Yunie

    At last! Someone with real exptierse gives us the answer. Thanks!

  • AillyLi

    仔细看完了,欧式几何证明法还是很喜欢的

  • 会挡风的树

    666

  • Angel創意記

    厉害,多谢分享!

  • 樱桃

    道理是很容易理解的,可是为什么人们还经常把它画成平行四边形(斜二测图)?说明人画图不理性吗?

回复给 徐炜 取消回复

9  ×    =  9