计算机图形学教案第9章消隐.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章消隐

第9章 消隐 问题 ?场景中哪些物体的表面是可见的,哪些是被遮挡不可见的(隐藏面或线)? ?如何在投影过程中消除隐藏面或线? 两类消隐算法: 图象空间消隐算法:以屏幕象素为采样单位,确定投影于每一象素的可见景物表面区域,并将其颜色作为该象素的显示颜色。 景物空间消隐算法:直接在景物空间(观察坐标系)中确定视点不可见的表面区域,并将它们表达成同原表面一致的数据结构。 9.1 深度缓存器算法 算法的原理: 使用两块缓冲区: Z缓存:存深度 帧缓存:存颜色。 算法步骤: 1.初始化:把Z缓存中各(x,y)单元置为z的最小值,而帧缓存各(x,y)单元置为背景色。 2.在把物体表面相应的多边形扫描转换成帧缓存中的信息时,对于多边形内的每一采样点(x,y)进行处理: ①计算采样点(x,y)的深度z(x,y); ②把大于Z缓存中在(x,y)处的z(x,y)值存入Z缓存中的(x,y)处,再把多边形在z(x,y)处的颜色值存入帧缓存的(x,y)地址中。 问题:计算采样点(x,y)的深度z(x,y)。 假定多边形的平面方程为:Ax+By+Cz+D=0。 利用连贯性加速深度的计算: 扫描线上所有后继点的深度值: 可采用边表和有效边表来提高算法效率 ——扫描线深度缓存器算法 算法特点: ①算法简单。 ②需较大的存储空间。 ③处理反走样、透明和半透明效果困难。 对于③ ,可以使用A缓冲器算法克服。 9.2 区间扫描线算法 算法原理:避免对被遮挡区域的采样是进一步提高扫描线算法计算效率的关键。 算法: 三张表:边表、多边形表、有效边表。 算法关键:分割子区间,确定子区间上的唯一可见面。 特殊情形:贯穿情形、循环遮挡情形。 贯穿情形: 为了使算法能处理互相贯穿的多边形,扫描线上的分割点不仅应包含各多边形的边与扫描线的交点,而且应包含这些贯穿边界与扫描线的交点。 循环遮挡: 将多边形进行划分以消除循环遮挡。 例: 9.3 深度排序算法(画家算法) 算法原理: 若场景中任何多边形在深度上均不贯穿或循环遮挡,则各多边形的优先级顺序可完全确定,扫描转换就可以按从优先级低的多边形到优先级高的多边形的顺序进行。? 算法步骤: 1.将多边形按深度进行排序:距视点近的优先级高,距视点远的优先级低。 2.由优先级低的多边形开始逐个对多边形进行扫描转换。 其中的关键是将多边形按深度进行排序。 排序步骤: 1.将所有多边形按Zmin由小到大的顺序存入队列M中,并初始化一空队列N。 2.取M中第一个多边形(A)与其他多边形进行深度重叠比较,若无重叠关系,A入N;否则作重叠处理。 3.将已处理的多边形从M中删除,转2.,直到M为空。 深度重叠比较: 最小包围盒 Zmin(B)Zmax(A) 重叠处理: ?A位于重叠之后: A入N ?B上重叠平面在A之前:A入N ?在重叠区域任取一点计算A和B的Z值,若A的Z值小,则A入N,否则交换A和B的关系。 9.4 区域细分算法 算法原理 按四叉树方法将区域分割为四块大小相等的矩形?…,直到每个矩形区域只被一个多边形所覆盖。 四类多边形区域: 终止循环细分的条件: ①所有多边形均是该区域的分离多边形:背景色。 ②仅存在一个多边形:先对区域填背景色,再填象素色。 ③存在Z值最大的围绕多边形:直接使用该多边形的颜色。 可见性测试 自适应细分 9.5 光线投射算法 算法原理: 算法步骤可简单描述如下: 1. 通过视点和投影平面(显示屏幕)上的所有象素点作一入射线,形成投影线。 2. 将任一投影线与场景中的所有多边形求交。 3. 若有交点,则将所有交点按z值的大小进行排序,取出最近交点所属多边形的颜色;若没有交点,则取出背景的颜色。 4. 将该射线穿过的象素点置为取出的颜色。 9.6 BSP树算法 算法原理 实例说明? 9.7 多边形区域排序算法 算法思想: 将多边形按深度值由小到大排序,用前面的可见多边形去切割位于其后的多边形,使得最终每一个多边形要么是完全可见的,要么是完全不可见的。? * Z-buffer算法 Z-buffer 帧缓存 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50 80 当处理下一条扫描线y=y-1时,该扫描线上与多边形相交的最左边(x最小)交点的x值可以利用上一条扫描线上的最左边的x值计算: A B C D E F G 队列M 队列N 初步排序队列 最终排序队列 *

文档评论(0)

dart001 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档