计算机图形学CHP9-可见面判别算法.ppt

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

第九章 可见面判别算法 Computer Graphics 第九章 可见面判别算法 可见面判别算法的实现空间 可见面判别算法的分类 表面定向法 后向面消除法(back-faces method) 层深缓冲法(depth-buffer method) A缓冲器算法(A-buffer method) 区间扫描线算法(scan-line method) 深度排序算法(depth-sorting method) 光线投射算法 层深缓冲法每个象素点只能对应一个可见面,不能处理多个面的累计强度值。 A缓冲器法对层深缓冲法进行扩展,使每个单元位置对应一个表面链表,可以考虑各像素点处多个表面的强度值。 Surf(i)中含有的数据项: RGB强度分量 表面的标识名 透明性参数 其他表面绘制参数 深度 覆盖度 指向下一表面的指针 step 3.1: 对所有的Q,有Zmax(P) Zmin(Q), 则多边形的确距观察点最远,它不可能遮挡别的多边形。令L = L – {P},返回step 2; step 3.2: 存在某一个多边形Q,使Zmax (P) Zmin (Q),需进一步判别: step 3.2.1 若P,Q投影P’,Q’的包围盒不相交,则P,Q在表中的次序不重要,令L = L – {P}, 返回step 2;否则进行下一步。 step 3.2.2 若P的所有顶点位于Q所在平面的不可见的一侧,则P,Q关系正确,令L = L – {P},返回step 2;否则进行下一步。 step 3.2.3 若Q 的所有顶点位于P所在平面的可见的一侧,则P,Q关系正确,令L = L – {P}, 返回step 2;否则进行下一步。 step 3.2.4 对P,Q投影P’,Q’求交,若P’,Q’不相交,则P,Q在表中的次序不重要,令L = L – {P},返回step 2;否则在它们所相交的区域中任取一点,计算 P,Q在该点的深度值,如果P的深度小,则P,Q关系正确,令L = L – {P},返回step 2;否则交换P,Q,返回step 3. The End! 算法设计: 将多边形按深度进行排序:距视点近的优先级高,距视点远的优先级低。 由优先级低的多边形开始逐个对多边形进行扫描转换。 其中的关键是将多边形按深度进行排序。 S1 S2 Z1min Z1max Z2min Z2max s1和s2无深度重叠 问题:深度的重叠问题。 (1)无重叠情况:按深度优先级顺序处理各个表面。 (2)有重叠情况时,对与A平面重叠的表面B分别作如下测试: (1)两表面在xoy平面上投影的包围矩形无重叠; (2)相对于观察位置,面A完全位于重叠表面B之后; (3)相对于观察位置,重叠表面B完全位于面A之前; (4)两表面在观察平面上的投影无重叠; **结论:只要有一个条件为真,则A和B无须重新排序。 (1) (2) y x A B A 和 B 在 xoy 平面上投影的包围盒无重叠 x z A B A完全位于重叠表面B之后 (3) x A B 重叠表面B完全位于A之前 z x A B A、B、C之间的遮挡关系 z C (4)两表面在观察平面上的投影无重叠 如果不属于上面四类,则必须重新排序。 关键问题:如何对场景中的物体按深度(远近)排序,建立深度优先级表? 一种针对多边形的排序算法: 假定在左手观察坐标系XYZ中,投影方向是Z轴的负向,因而Z坐标大距观察者近。记Zmin(P) Zmax(P)分别为多边形P的各个顶点Z坐标的最小值和最大值,算法步骤如下: Step 1:将场景中所有多边形存入一个线性表(链表或数组),记为L; Step 2: 如果L中仅有一个多边形,算法结束;否则根据每个多边形的Zmin对它们预排序。不妨假定多边形P落在表首,即Zmin(P)为最小。再记Q为L – {P}(表中其余多边形)中任意一个; Step 3: 判别P, Q之间的关系,有如下二种: 画家算法的优点是简单、容易实现。缺点是不能处理相互交叉的面,因为此时深度优先级表中面的顺序可能出错。解决问题的办法是把相关的面进一步分割。 (七)区域细分算法: 基本思想:利用区域连续性,将整个观察范围细分为越来越小的矩形单元,直至每个单元仅包含单个可见表面的投影或不含任何表面。 多边形表面的投影与观察区域之间的关系 观察区域 观察区域 观察区域 观察区域 (1)包围表面 (2)重叠表面 (3)内含表面 (4)分离表面 一个表面与细分后的观察区域的关系有四种: 若满足下列三个条件中的任意一个,则不必再对区域进行细分: 条件一:该区域没有内含、重叠或包围表面(所有表面均为区域的分离表面); 条件二:该区域只有一个

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档