第七章消除隐藏线和隐藏面的算法.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章消除隐藏线和隐藏面的算法

关于背景的处理,最简单的办法是把更新缓冲存储器整个初始化为某个合适的值,于是算法就只需处理扫描线在多边形内的情形。另一个办法是,定义一个大的矩形,让他包含了客体中所有的多边形,位于比其它多边形都更远离观察者的平行于投影平面的一个平面上,并具有某个合适的亮度或颜色值。再一个办法就是修改算法。使得每当扫描线不在任何多边形内时,就往帧缓冲存储器中送入背景的象素值。 第七节 区域分割算法 区域分割算法将投影平面分割成区域,考察区域内的图象。如果容易决定在这个区域内某些多边形是可见的,那么就可以显示那些可见的多边形,完成对这一区域的显示任务。否则,就将区域再分割成小的区域,对小的区域递归地进行判断。由于区域逐渐变小,在每个区域内的多边形逐渐变小,最终总可以判定哪些多边形是可见的。这个算法利用的区域的相关性,这种相关性是指位于适当大小的区域内的所有象素,表示的其实是同一个表面。 在递归分割的每一步,要显示客体中每个多边形的投影多边形与所考察区域之间的关系,必然是下列四种之一: 1.???包围的多边形,即多边形全部包含了所考察的区域。 2.??相交的多边形,即多边形所考察的区域相交。 3.?被包含的多边形,即多边形全部在所考察的区域之内。 4. 分离的多边形,即多边形与所考察的区域完全分离。 包围的 相交的 被包含的 分离的 若区域与多边形为下面的四种情况,不必再做进一步的分割,可直接绘制。 1.所有的多边形与区域分离,所以在区域内只需显示背景值。 2. 只有一个相交的多边形,或者只有一个被包含的多边形。这时可以对区域首先填充背景值,然后对多边形进行扫描转换。在某些显示设备上,将整个帧缓冲存储器都初始化为背景值,可能更为方便。对于相交的多边形,只是被包含的部分被扫描转换。 3.???只有一个包围的多边形,无其它的多边形。整个区域填充该多边形的象素值。 4. 有多于一个的包围的、相交的或被包围的多边形,且至少有一个包围的多边形。检查是否能有一个包围的多边形,它位于所有其它多边形的前面。如果有,就可以让整个区域都填充为这个多边形的象素值。具体的检查方法是,对所有的多边形,计算其所在平面在区域的四个角点的应有深度,即相应的z坐标,如果有一个包围的多边形的响应四个z坐标,都小于其它多边形的对应z坐标,那么这个包围的多边形就位于所有其它多边形的前面。 情形4的两种情形 区域经过分割变小以后,只需要考虑包含的多边形和相交的多边形的变化。 因为分离的或包围的多边形,对变小的区域,仍然保持是分离的或包围的。分割进行到达到显示设备的分辨能力之后就可以停止,即最小的区域可以是显示表面上的一个象素单位。如果在做了准备做的最大数目的分割之后,仍然不能做出应该如何填充的决定,那么,就计算所有有关多边形在这个不可再分区域对应的点的范围的中心处的z坐标值,取z坐标最大的多边形象素值填充这个区域。 Wanock首先提出的最初的区域分割算法是每次把区域分成四个正方形。下图所示是对一个投影是一个三角形和一个长方体的场景,做了5次区域分割的情形,其中区域内标出的数字,表示可以作出决定的前面所说的四种情形中的哪一种。没有标出数字的区域是还不能做出决定。 分割区域为正方形 区域分割不一定总是等分,当区域内有多边形的顶点时,可以按照顶点位置来做分割,这样显然可以少做一些分割。 围绕多边形顶点分割(先是A,后是B) 区域分割还可以按照客体中多边形投影的范围进行,这可以少做很多分割。 Weiler和Atherton提出的算法,直接就用多边形的投影做为分割的区域。选择用做分割的区域时,可以按照多边形各顶点坐标最小值的递增次序 按照多边形投影选择区域做分割 //第八节 BSP树算法 BSP(binary space-partitioning)树算法将表面由后往前地在屏幕上绘出,该算法特别适用于场景中物体位置固定不变、仅视点移动的情况。 利用BSP树来判别表面的可见性,其主要操作是在每次分割空间时,判别该表面相对于视点与分割平面的位置关系,即位于其内侧还是外侧。 平面P1将空间分割为两部分,一组物体位于P1的后面(相对于视点),而另一组则在P1之前,而B和D在P1之后。平面P2对空间进行了二次分割,并生成如图(b)所示的二叉树表示。在这棵树上,物体用叶节点表示,分割平面前方的物体组作为左分支,而后方的物体组为右分支。 对于由多边形面组成的物体,可以选择与多边形面重合的分割平面,利用平面方程来区分“内”、“外”多边形顶点。随着将每个多边

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档