- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章消隐技术PPT
第八章 消 隐 技 术;8.1 基本概念
一.为什么要消隐
因为计算机图形处理的过程中,不会自动消去隐藏部分,相反会将所有的线和面都显示出来。
问题:
① 对于线画图形会出现多义性。
对于光栅扫描着色的面图形则会导致图形错误。
② 要增强图形的真实感必须进行消隐处理。;二. 消隐的分类
1.消除隐藏线
对于采用物体的棱线或轮廓线表示的线画图形,应消去物体本身看不见的棱线和轮廓线部分,以及因物体间的互相遮挡而被隐藏的棱线和轮廓线。
2.消除隐藏面
对于采用光栅扫描着色方法(即采用物体表面不同的明暗度)绘制的图形,应消除物体上看不见的面以及因物体间的互相遮挡而被隐藏的面。
与此相对应,消隐的算法也可分为两种:; 第一种方法是以场景中的物体为处理单元,将一个物体与
其余的 k-1 个物体逐一比较,仅显示它可见的表面以达到消
隐的目的。此类算法通常用于消除隐藏线。
假定场景中有 k 个物体,平均每个物体的表面由 h 个多边形构成,其计算复杂度为 O((kh)2)。
算法描述如下:
for (场景中的每一个物体)
{ 将该物体与场景中的其它物体进行比较,确定其表面的可
见部分;
显示该物体表面的可见部分;
}; 第二种方法是以窗口内的每个像素为处理单元,确定在每
一个像素处,场景中的物体哪一个距离观察点最近(可见
的),从而用它的颜色来显示该像素。此类算法通常用于消除
隐藏面。
若显示区域中有 m×n 个像素,则其计算复杂度为O(mnkh)。
算法描述如下:
for (窗口内的每一个像素)
{确定距观察点最近的物体,以该物体表面的颜色来显示像素;
};重叠测试:
测试两个空间多边形的投影是否重叠,若重叠,则可能存
在遮挡关系;若不重叠,则不存在遮挡关系。
测试方法: ;四. 提高消隐算法效率的常用方法
利用连贯性
包围盒技术
背面剔除
将透视投影转换成平行投影
空间分割技术
复杂度比较
物体分层表示; 1. 利用相关性(连贯性)
物体的相关性:若物体 A 与物体 B 是完全相互分离的,消
隐时只需比较 A 、 B 两物体之间的遮挡关系,而不需对其表面
多边形逐一进行测试。
面的相关性:一个面内的各种属性值(坐标值、灰度值等)
一般都是缓慢变化的,可采用简单增量方式进行计算。
区域相关性:一个区域是指屏幕上一组相邻的像素,它们
通常属于同一个可见面。区域相关性表现在一条扫描线上时,即
为扫描线上的每个区间内只有一个面可见。
扫描线相关性:在相邻的两条扫描线上,可见面的分布情
况相似。
深度相关性:物体的同一表面上的相邻部分深度是相近的。 ;2. 包围盒技术
用于对物体间的某些关系进行比较和测试,从而可避免盲
目的求交运算,减少计算量,提高效率。
一个好的包围盒要具有两个条件:
(1)包围盒充分紧密包围着形体;
(2)对其的测试比较简单。
二维图形 ----- 包围框(重叠测试);
三维物体 ----- 包围盒、包围球。;3. 背面剔除
一个平面多面体的表面由若干个
平面多边形构成,若一个多边形表面
的外法线方向与投影方向(观察方向)
的夹角为钝角,则该面为前向面;若
其夹角为锐角,则为后向面或背面。
剔除依据: 物体表面是封闭的,背面总是被前向面所遮挡,从而始终是不可见的。
;4. 将透视投影转换成平行投影
消隐与透视关系密切,体现有:
1)消隐必须在投影之前完成;
2)物体之间的遮挡关系与投影中心(视点)的选
取有关;
3)物体之间的遮挡关系与投影方式有关;5. 空间分割技术
依据:场景中的物体,它们的投影在投影平面上是否有重叠部分?(是否存在相互遮挡的可能?)对于根本不存在相互遮挡关系的物体,应避免这种不必要的测试。
方法:将投影平面上的窗口分成若干小区域;为每个小区域建立相关物体表,表中物体的投影于该区域有相交部分;则在小区域中判断那个物体可见时,只要对该区域的
文档评论(0)