现在的位置: 首页 > 综合 > 正文

设计(25) 《DESARGUES定理》软件设计

2013年08月25日 ⁄ 综合 ⁄ 共 4757字 ⁄ 字号 评论关闭

设计(25) 《DESARGUE定理》软件设计

Desargues定理和3D作图

(绘制仅与Desargues构型相关的3D图形)


引  言

引言。

      本文介绍Desargues定理(中文译为德萨格定理),这是国内外数学界公认的漂亮的几何定理,也是和3维作图关系最密切的一个数学定理。但这一定理有什么漂亮之处?并不是每个人实际都了解,只是外国人这样说,所以我们也这样讲。它和绘图有什么关系?更不是那么容易理解,我曾化了许多时间。下面我想来介绍我所理解的问题,或许对大家有所启发。


      我把证明Desargues定理时所用图形(即所谓Desargues构型)由2维平面图转化成3维空间图开始讲起,再不断深入了解定理的实际意义和构型的美妙与丰富的对称性,并同时加入用到的图形编程方面的许多知识。


图 1.  点击菜单条中的设计菜单,就可得上述画面。此图左上方的图形就是一个Desargues构型。右上方说明了此图的一个构作过程,右下方验证了按此方法构造的图中10条线都是真的直线(3点不构成有面积的三角形)。左下方红框内介绍的就是Desargues定理及其逆定理。所涉及的图就是左上方的构型。证明原要点击后弹出,现将其列在下面:

【证明】设直线14、25和36的共同交点为0我们把这一平面图形想象为一个三维空间中的立体图形0是以123456两个三角形为截面的三角锥体的顶点,
因线段12和45在三角锥的同一侧面上,它们延长后的交点7同时包含在两个三角形所在的两个平面上,因此也就是包含在这两个平面的公共交线(即连线789)上。同理可以说明23和56,31和64延长后交点8与9也在包含两三角形的两个平面的共同交线789上。
现重新把图看成平面图,7,8和9三点也位于一直线上。由此Desargues定理证毕。

【逆定理】设三角形123和456的对应边12和45,23和56、31和64的三个交点在同一直线上,则它们对应顶点连线14、25和36交于同一点。证法与上完全类似,略。

【注0】 我们以上的证明是把图1看成一个空间3d图才得到证明。一个2d平面图能看成一个3d空间图是要有条件的,即它实际就是一个3d图的投影。如果不是3d图的投影就不可能看成3d图,上述证明也就不可能进行。在平面射影几何中,若不利用空间几何关系,Desargues定理要作为公理承认才行。
【注1】 三角形123和456称为相互透视对应的三角形, 0为它们的透视中心,789则为透视轴。透视中心和透视轴代表什么实际意义下面将会说明
【注2】 Desargues定理与它的逆定理实际上也是相互对偶的, 即把点和线互换,前提就变成结论,结论变成了前提,这种对偶关系叫自对偶。
 * 证明所利用的透视实际是两个空间图形(不在同一平面的两个三角形)之间的透视,它是平面上2个三角形或其他图形之间的透视概念的推广,这种透视恰恰就是我们人类最习以为常的3D透视。证明得到的透视则是两个平面图形(在同一平面的两个三角形)之间的透视。
 * 我们下面会指出,上面的图1是一个极有趣的图。它一共包含10个点10条线。我们前面是把123, 456看成以点0为透视中心、以789作为透视轴的2个相互透视的三角形,但你可以把10个点中的任意一点看成透视中心,10条线中的任意一条作为透视轴。当然,改变了透视中心和轴, 相互透视的两个基本点三角形已不再是原来的,而要相应改变。读者不妨作为一个练习,把与每个点对应的两个透视三角形和透视轴统统找出来
【特例1】在上面的定理中,作为透视中心的0点可以为无穷,也就是说,14,25,36三条直线可以平行, 这时定理同样成立,如下边中间的一个图所示。
【特例2】在上面的定理中, 两个透视三角形的对应边可以平行不相交, 即三角形123和456所在的两个平面平行,,这时,3个交点都在无穷远,且它们交在同一无穷远直线上。(两个无穷远点可构成一条无穷远直线,三个无穷远点则每两条可构成一条无穷远直线,共有3条无穷远直线。 3个交点在同一条无穷远直线上是一特殊情况。)
【特例3】兼备以上两个特例的所有特点。即两个三角形全同且所在的面平行。这时三角形123和456对应顶点连线14,25,36相互平行, 两个三角形对应边12和45, 23和56、31和64也平行, 即交点都在无穷远,也就是交点都在无穷远直线上, 因此也共线。


图2. 特例和推广

这个立体感很强的图形也是Desargues构型的特例:2个透视三角形3对边中,有一对边平行,即它们的交点在无穷远,所以透视轴上只有2个有穷点。

同上:上图也是特例。以左下角黄点为透视中心,对应的2个透视三角形有绿,紫,紫和黄,绿,绿色的顶点,这两个空间三角形的3对对应边中有一对边:紫-紫,绿-绿,平行不交(或说在无穷远点相交),因而第三对也平行,它们的交点有一个在无穷远,透视轴上只看到两个黄色有限点。

【注3】 我们把上述各种特例与原来有限情况合并起来,说明定理不仅在欧氏空间成立,在射影空间也成立,Desargues定理是射影空间的一个定理。在射影空间中,点不分有穷或无穷,两条线总会相交,而且反之,两个点总可以连成一条线,不管其中有没有无穷远点,以及有几个无穷远点。如果2个都是无穷远点,则所连直线是无穷远直线。
【注4】 Desargues定理不仅适用于三角形,也可以推广到四边形、五边形,或任意多边形。上图2中右边最下面的那个图说明4边形的情况。这时,透视中心是连接4根线,透视轴上有4个点,整个Desargues构型有13点。证明方法与双三角形的完全类似,读者不妨自己思考一下。

         根据以上讨论,我们就容易发现,什么样绘图正确,什么样绘图不正确。如下列各例那样:

真实照片的透视:等宽公路收敛到一个无穷远点,通过无穷远点的地平线是无穷远直线


正确画图:相等高度的平行线收敛到同一个无穷远点,共有2个无穷远点X1,X2

一个错误的立体图画法例子。

此图错误的原因,简单地说,就是没有透视。没有透视,就一定违背Desargues定理。下面我们来说明这一点。

此图包括最大的牧马区在内,一共有8个长方体,每个长方体有12条边,它们分成三组,这里画的三组边都相互平行。但这是不可能的。因为,它们都是有限大小的长方体,如果从有限远点作为视点(透视中心)来观察它们,最多只可能有2组边平行,第三组一定收敛为一点,例如,假设视点在顶部,则4条垂直边会收敛;如果视点在正前方,则深度方向的一组边会收敛。三组边均不收敛,说明视点(透视中心)一定在无穷远,但如果视点在无穷远处,则有限的东西都应该是无穷小,不可能画得那样大。

实际画图时,大物体是否违背近大远小的透视原则比较容易发现。如上图中,牧马区不透视就比顺马区看得清楚。

【注5】 Desargues定理除了有一个Desargues逆定理是它的对偶外,还有一个空间对偶(见后)。为了区别, 我们把现在考察的定理称为平面Desargues定理。


【注6】 Desargues定理不只一个, 如有关圆锥曲线也有一个Desargues定理:圆锥曲线任一截线与曲线及曲线内接四点形各对边的截点组成对合共轭点对.见Cremona17章。为了区别, 把我们现在考察的定理称为关于两个三角形的Desargues定理。

图 2.  点击一下居中菜单项就可得此画面,其中中间的图就是前面那个图,其顶视侧视图中十个点在一条线上,说明此图是平的。

图 3  点击 三维 菜单项就可得以上图,这是与前面相同的图,但已3维化。不同于3维变2维的垂直投影,由2维变3维是无穷的,上图左下例证了这一过程。中间上面是其顶视图,图中十个点不在一条直线上,说明它们有了不同z坐标,其下面的正视图的确已是立体了。

图 4  点击 造型 菜单项就可得以上图形,其中点和线都用体积的球和棒代替,3d感觉就明显。

图 5  点 彩显 菜单项就可得上彩色图形。本图配文说明画家算法(按物体深度确定画出物体次序)的不可靠以及用分段法解决此问题。

图6   点 填充 菜单项就使两个对应三角形被彩色填充的图形。右边是画棒要用的十色调色板。

图 7    下面一排是对图形进行旋转、平移、放大等操作的各种工具。例如,点击其中的 放大
按钮就可得以上放大的彩色图形。

图8 点击菜单条中的透视菜单就可得上面8个图,什么是透视请看以上底部的解释。以上8图中,上4图不透视,下4图才透视。 3d图形是否透视,只要绕x和y轴旋转再加个外框后就能看得很清楚。

从这些图,尤其是从图6、图7或图8,你能更加看清Desargues构型是一个在3d空间的非平面的图形。它与外框的6个面都有点相接触。

到此,我们已把一个3d化的Desargues构型的透视图画出来了。下面转来讨论Desargues构型的丰富对称性。

图·8a  点击菜单条中的视点菜单就可得上图。此图说明十个点中每一点都可以当作视点(透视中心),都有一对相对应的透视三角形和一根相应的透视轴。我们这里分别用深蓝色点和深蓝色线代表透视中心和透视轴,用橘黄色和天蓝色画出了透视对应着的两个三角形。(注意:要细心看哦!)

图1是十个点的名称不变,而图2是将其中2个图的顶点名称作了置换。无论用那一种观点,都说明构型的对称性。

图 8a  在同一透视中心 0 之下,其他顶点可有12个置换,使定理照样成立。其他点为透视中心时也一样。此图进一步说明了Desargues构型的丰富的对称性(置换对称)。

图9  点击 对偶 菜单项就可得上图,此图要说明Desargues定理有另一种对偶:三维空间点与面的对偶。请仔细阅读上图下面的注释(1)。

图9  前面说:空间对偶的任何不过顶点的截面是一平面Desargues构型, 上图企图用全窗体的平面图形来说明此关系。但不行,所以改成全窗口来画。

Desargues构型的空间对偶是非常复杂的图形,因为它是一个由十个面组成的图形,这十个面相互交叉覆盖,有的地方甚至覆盖5次之多,你要清晰看到十个面十分困难,即使你使用什么透明技术。

注意:这不是一个简单的多面体,它的点线面数量关系不满足Euler公式:p+f=e+2。因为这里p=5,e=10,f=10,p+f=e+5 。


上面我们讨论了平面Desargues构型的空间对偶,不管Desargues构型是平面或空间的,它们的点和线最终都以球与棒表示,下面来介绍球与棒又是怎样画出来的?

图10  画球和棒可用许多方法,最简单的也画家算法和z缓冲法。点击编程菜单项会弹出一下拉菜单,点击画中的画家算法画球, 就可见以上画面。后画的球总是覆盖先画的球。

图11 点击编程菜单项的下拉菜单中的编程按钮中的深度缓冲器算法画球。这种算法画球按深度由近的球覆盖远的球,同样深或差不多深的就会相互嵌入。

图12   再点击编程按钮中的深度缓冲法画空间Desargues构型,就得上面这个平面Desargues构型对偶的空间Desargues构型但没有画出与平面构型10点对应10个面,因为这10个面相互覆盖,必须使用半透明作图,画出来不容易,现仅以点和线来表示。此图正确画出了空间构型的5个点与线的空间关系,例如P3(244,199,,500)最深,即z=500最大,P1(475,366,100)最浅,即z=100最小,其余3点的深度=300,由此与5个球(点)相连的棒(线)插入球(点)的形状各不相同;连线的深浅也一目了然。左边两个图是说明不用z缓冲法很难表示的两种图形。

图13  用半透明画面法画出的空间Desargues构型(待画)

到此,已把要讲的东西基本讲完,你从Desargues定理和Desargues构型的丰富性质以及3D作图技术应有一点了解了吧。

图0。最后,作为练习,再回头来看一看这个封面,彻底弄清它代表了什么?注意上面的红字和底下的注释。



抱歉!评论已关闭.