1. 首页
  2. 文档大全

计算机图形学课件 第九章建模与消隐

上传者:2****5 2022-07-22 06:47:28上传 PPT文件 4.18MB
计算机图形学课件 第九章建模与消隐_第1页 计算机图形学课件 第九章建模与消隐_第2页 计算机图形学课件 第九章建模与消隐_第3页

《计算机图形学课件 第九章建模与消隐》由会员分享,可在线阅读,更多相关《计算机图形学课件 第九章建模与消隐(88页珍藏版)》请在文档大全上搜索。

1、第九章第九章 建模与消隐建模与消隐2n9.1 9.1 三维物体的数据结构三维物体的数据结构 n9.2 9.2 消隐算法分类消隐算法分类 n9.3 9.3 隐线算法隐线算法 n9.4 9.4 隐面算法隐面算法主要内容3 在二维显示器上绘制三维图形时,必须把三维信息经过投影变换为二维信息。由于投影变换失去了图形的深度信息,往往导致对图形的理解存在二义性。要生成具有真实感的图形,就要在给定视点和视线方向之后,决定场景中物体哪些线段或表面是可见的,哪些线段或表面是不可见的。这一问题习惯上称为消除隐藏线和消除隐藏面,简称为消隐。消隐。4 场景中经常绘制的三维物体有圆柱cylinder球 sphere圆锥

2、cone圆环torus无论使用哪种模型描述,都需要为物体建立顶点表、边表和面表构成的数据结构。建立三维用户坐标系为右手系Oxyz,x轴水平向右为正,y轴垂直向上为正,z轴从纸面指向观察者。 5几何信息:描述几何元素空间位置的信息。拓扑信息:描述几何元素之间相互连接关系的信息。 描述一个物体不仅需要几何信息的描述而且需要拓扑信息的描述。因为只有几何信息的描述,在表示上存在不惟一性。图9-1所示的5个顶点,其几何信息已经确定,如果拓扑信息不同,则可产生图9-2和9-3所示的两种不同图形。 图9-1 五个顶点 图9-2 五角星连线 图9-3 五边形连线 对物体线框信息的描述不仅包括顶点坐标,而且包括

3、每条边是由哪些顶点连接而成。对于物体表面信息的描述包括每个表面是由哪些边连接而成,或是由哪些顶点环绕而成。 6 在三维坐标系下,描述一个物体不仅需要顶点表描述其几何信息,而且还需要借助于边表和面表描述其拓扑信息,才能完全确定物体的几何形状。 制作多面体或曲面体的旋转动画时,常将物体的中心假设为旋转中心。假定立方体中心位于三维坐标系原点,立方体的边与坐标轴平行,且每条边的长度为2a。立方体模型如图9-4所示。立方体是凸多面体,满足欧拉公式:V+F-E=2式中:V是多面体的顶点数,F是多面体的面数,E是多面体的边数图9-4 立方体数学模型7表9-1 立方体顶点表顶点x坐标y坐标z坐标V0 x0-a

4、y0-az0-aV1x1 ay1-az1-aV2x2 ay2 az2-aV3x3-ay3 az3-aV4x4-ay4-az4 aV5x5 ay5-az5 aV6x6 ay6 az6 aV7x7-ay7 az7 a8表表9-2 9-2 立方体边表立方体边表边起点终点E0V0 V1E1V1V2E2V2V3E3V3V0E4V4V5E5V5V6E6V6V7E7V7V4E8V0V4E9V1V5E10V2V6E11V3V79表表9-39-3立方体面表立方体面表面第1条边第2条边第3条边第4条边说明F0E4E5E6E7前面F1E0E3E2E1后面F2E3E8E7E11左面F3E1E10E5E9右面F4E2E

5、11E6E10顶面F5E0E9E4E8底面109.1.3 9.1.3 实体的描述模型实体的描述模型 线框模型(wireframe model)是计算机图形学中表示物体最早使用的模型,而且一直在使用。线框模型只是用几何体的边线来表示物体的外形,没有表面和体积等概念。线框模型是表面模型和实体模型的基础,只使用顶点表和边表两个数据结构就可以描述。图9-5所示为立方体线框模型。优点:可以产生任意方向视图,视图间保持正确的投影关系,常用于绘制三视图或斜轴测图等。缺点:所有棱边全部绘制出来,容易产生二义性,如图9-6所示线框模型线框模型11图9-5立方体线框模型 图9-6线框模型二义性 12 表面模型(s

6、urface model)是利用物体的外表面来构造模型,就如同在线框模型上蒙上了一层外皮,使物体具有了一层外表。表面模型仍缺乏体积的概念,是一个物体的空壳。与线框模型相比,表面模型增加了一个面表,用以记录边面之间的拓扑关系。优点:可以对表面进行平面着色或光滑着色、可以为物体添加光照或纹理等。缺点:无法进行实体之间的并交叉运算。图9-7表示的是双三次Bezier曲面的网格模型。图9-8表示的是双三次Bezier曲面的表面模型。在图9-8中,Bezier曲面没有围成一个封闭的空间,只是一张很薄的面片,其表面无内外之分,哪面是正面、哪面是反面,没有给出明确的定义。表面模型表面模型13图9-7 双三次

7、Bezier线框模型 图9-8双三次Bezier表面模型 14 实体模型(solid model)是在封闭的表面模型内部进行了填充,有了如体积和重量等特性,能反映立体的真实性,立体才具有“体”的概念。它的内部和外部的概念,定义了在表面模型的哪一侧存在实体。它的表面有正面和反面之分。如图9-9所示。 用有向棱边隐含地表示表面的外法向量方向。常用右手准则定义,拓扑合法的物体在相邻两个面的公共边界上,棱边的方向正好相反,如图9-10所示。 与表面模型数据结构的差异。将面表的顶点索引号按照从物体外部观察的逆时针方向的顺序排列,可确切地分清体内体外。 与线框模型、表面模型的区别。记录了顶点的信息,以及线

8、、面、体的拓扑信息。 实体模型常采用集合论中的并、交、差等运算来构造复杂实体 。 3.3.实体模型实体模型15(a)正面 (b)反面图9-9 立方体表面的正面和反面图9-10 立方体实体模型 一般情况下,使用顶点表、边表和面表3张表可以方便地检索到物体的任意一个顶点、任意一条边和任意一个表面,而且数据结构清晰。 实际建模中,实体模型采用了有向棱边,相邻两个表面上共享的一条棱边的定义方向截然相反,导致无法确定棱边的顶点连接顺序,因而放弃边表,仅使用顶点表和面表来表示物体的几何模型。且面表中按照表面法矢量向外的方向遍历多边形顶点索引号,表明处理的是物体的正面。仅用顶点表和面表的缺点是物体的每条边被

9、重复绘制2次。169.1.4 9.1.4 双表结构双表结构 不管是三维凸多面体还是光滑物体,只要给出顶点表和面表数据文件,就可以正确地确定数据结构。在双表结构中,立方体的顶点表依然使用表9-1。面表需要重新按顶点索引号设计。图9-11为图9-4所示立方体的展开图。V2V1V0V3V6V5V1V0V4V7V3V2V3V0F0F1F2F3F4F5图9-11 立方体的展开图 17表9-4根据立方体的展开图重新设计了面表结构。 表表9-49-4立方体面表立方体面表面第一个顶点第二个顶点第三个顶点第四个顶点说明F04567前面F10321后面F20473左面F31265右面F42376顶面F50154底

10、面181 1定义三维顶点类定义三维顶点类 如图9-12所示,包括顶点的三维坐标(x,y,z) 图9-12 三维顶点类 192 2定义表面类定义表面类 如图9-13,表面类包括表面的顶点数和表面的顶点索引号。SetNum()用于动态设置表面的顶点数,常用于处理3个顶点的三角形面片或4个顶点的四边形面片。图9-13 表面类 203 3读入立方体的点表读入立方体的点表 在程序中定义ReadVertex()函数读入物体的顶点表如图9-14图9-14 读入立方体的顶点表214 4读入立方体的面表读入立方体的面表在程序中定义ReadFace()函数读入物体的面表,如图9-15图9-15 读入立方体的面表

11、229.1.5 9.1.5 常用物体的数学模型常用物体的数学模型正多面体是由若干个全等的正多边形围成,并且相交在各个顶点上的棱边数都相等的凸多面体。正多面体只有正四面体、正六面体、正八面体、正十二面体和正二十面体五种,如图9-16 所示。表9-5给出了其几何信息。这五种多面体统称为柏拉图多面体。柏拉图多面体属于凸多面体。 柏拉图多面体柏拉图多面体图9-16 柏拉图多面体23图9-17 柏拉图多面体对偶多面体 在几何学中,若一种多面体的每个顶点均能对应到另一种多面体上的每个面的中心,二者互称为对偶多面体。24柏拉图多面体对偶性柏拉图多面体对偶性点线面46481266128302012123020


文档来源:https://www.renrendoc.com/paper/212724781.html

文档标签:

下载地址