第九章建模与消隐说课.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 一些特殊的凹多面体如圆环,绘制线框模型时,使用背面剔除算法并不能完全消除隐藏线。当环面垂直于于投影面时,消隐结果存在错误,如图9-70所示。原因是保留了内环面的前面和外环面的前面。圆环线框模型的消隐需要使用专门针对凹多边形设计的算法实现。但如使用z-buffer算法绘制圆环的表面模型,则可以得到正确结果,如图9-71所示, 图9-70 圆环线框模型消隐 图9-71 圆环表面模型消隐 消隐 * 9.4.2 深度排序算法 深度排序算法是同时运用物体空间和图像空间的消隐算法。在物体空间中将表面按深度优先级排序,然后在图像空间中,由深度最大的表面开始,依次绘制各个表面。这种消隐算法通常被称为画家算法。 深度排序算法的原理是:先把屏幕置成背景色,再把物体的各个面按其离视点的远近排序形成深度优先级表,离视点远者位于表头,离视点近者位于表尾。然后按照从表头到表尾的顺序绘制各个表面,后画的表面颜色取代先画的表面颜色,相当于消除了隐藏面。 在算法上需要构造顶点表、面表来实现。 * 深度优先级排序算法的难点在于确定物体的深度优先级。 对于图9-72所示的4个条相互叠压(称为叠压条),每个条有一个独立的深度,而且4个条的深度彼此不同,则可以直接建立一个确定的深度优先级表。 对于图9-73的4个条相互交叉(称为交叉条),每个条至少有两个深度,不能简单地建立深度优先级表。 解决方法是沿着图中虚线循环地分割每个条,直至最终可建立确定的深度优先级表,另一种解决方法是使用深度缓冲器算法直接绘制交叉条。使用深度排序算法绘制的叠压条如图9-74所示。使用深度缓冲算法绘制的交叉条如图9-75所示。 * 图9-72 叠压条线框模型 图9-73 交叉条线框模型 图9-72 叠压条表面模型 图9-73 交叉条表面模型 图9-74 叠压条表面模型 图9-75 交叉条表面模型 * 9.5 本章小结 本章主要讲述多面体和光滑物体的数学模型建立方法。根据顶点表和面表绘制物体的三维模型。 三维图形的消隐算法分为隐线算法和隐面算法。 隐线算法主要针对线框模型进行,只根据表面法矢量和视矢量的夹角就可以进行背面剔除。凸多面体隐线算法也是一种隐面算法,是通过判断表面免的可见性后才绘制面的边界,只不过该方法可用于绘制线框模型,才称为隐线算法。 隐面算法中重点讲解了z-buffer算法,该算法是计算机图形学中最主要的消隐算法。一般先对物体的多边形表面进行背面剔除预处理,然后才对可见表面使用基于有效边表算法的z-buffer算法,从像素级角度对物体消隐。 * 习题 9 图9-76所示为正四面体,使用MFC编程实现正四面体的透视投影动态隐线算法。这里的”动态”是指使用键盘方向键或动画按钮可以对正四面体进行任意角度的旋转。 图9-76 正四面体消隐线框模型 * 2.图9-77所示为正三棱柱线框模型,使用MFC编程实现正三棱柱的透视投影动态隐线算法。 图9-77 正三棱柱消隐线框模型 * 3.立方体的表面F0可以通过四个顶点V0V1V2V3来定义,也可以通过四条边E0E1E2E3来定义,如图9-78所示。请编程绘制消隐线为虚线的立方体线框模型透视投影,效果如图9-79所示。 图9-78 立方体表面的定义 图9-79 立方体虚线消隐线框模型 说明:如果仅使用顶点表和面表的双表结构绘制立方体线框模型,每条边被绘制两次。只有借助于边表,使用三表结构才能完成本题。 * 4.如果一个平面在三维坐标系的三个坐标轴上的截距都相等,在第一卦限内的图形如图9-80所示。在八个卦限内的图形可以组成正八面体,如图9-81所示,请使用MFC编程实现正八面体的动态隐线算法。 图9-80 平面的截距 图9-81 正八面体消隐线框模型 * 5.房屋的三视图如图9-82所示,请以图中的黑点所代表的回转中心为原点建立三维右手坐标系,并使用MFC实现动态隐线算法,绘制如图9-83所示的房屋动态消隐线框模型透视图。 图9-82 房屋三视图 图9-83 房屋消隐线框模型 * 6.立方体的画家算法也可以这样来实现。立方体共有6个面和8个顶点,每3个面共用一个顶点,分别确定每个顶点的周围的3个面,有8种情况。在立方体旋转的任一角度,计算立方体离视点最近的顶点最远的顶点的z坐标值。先绘制z值大(离视点远)的顶点所对应的3个面,后绘制z值小(离视点近)的顶点所对应的3个面,就可以实现立方体的动态消隐。事实上,立方体属于凸多面体,只绘制离视点最近的顶点所对应的3个面就可以实现消隐,效果如图9-84所示,请编程实现。 * 图9-84 立方体表面模型的画家消隐算

文档评论(0)

过各自的生活 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档