- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章 消隐 消隐的分类 消除隐藏线 消除隐藏面 基本概念 提高消隐算法效率的常见方法 画家算法 Z缓冲区(Z-Buffer)算法 扫描线Z-buffer算法 扫描线算法 区域子分割算法 光线投射算法 基本概念 投影变换失去了深度信息,往往导致图形的二义性 要消除二义性,就必须在绘制时消除被遮挡的不可见的线或面,习惯上称作消除隐藏线和隐藏面,简称为消隐。 经过消隐得到的投影图称为物体的真实图形。 长方体线框投影图的二义性 基本概念 消隐的对象是三维物体。三维体的表示主要有边界表示和CSG表示等。 消隐结果与观察物体有关,也与视点有关。 线框图 消隐图 真实感图形 消隐的分类 按消隐对象分类 线消隐 消隐对象是物体上的边,消除的是物体上不可见的边。 面消隐 消隐对象是物体上的面,消除的是物体上不可见的面。 消除隐藏线 对造型的要求 在线框显示模型中,要求造型系统中有面的信息,最好有体的信息。 坐标变换 将视点变换到Z轴的正无穷大处,视线方向变为Z轴的负方向。 最基本的运算 判断面对线的遮挡关系.反复地进行线线、线面之间的求交运算 面消隐 面消隐算法的分类 提高消隐算法效率的常见方法 画家算法 Z缓冲器算法 扫描线Z缓冲器算法 区域子分算法 光线投射算法 面消隐算法的分类 消隐算法的分类 第一类(图像空间的消隐算法):以窗口内的每个像素为处理单元;如Z-buffer、扫描线、Warnock算法 for (窗口内的每一个像素) { 确定距视点最近的物体,以该物体表面的颜色来显示像素} 第二类(物体空间的消隐算法):以场景中的物体为处理单元;如光线投射算法 for (场景中的每一个物体) { 将其与场景中的其它物体比较,确定其表面的可见部分; 显示该物体表面的可见部分; } 面消隐算法的分类 第一类(图像空间的消隐算法):以窗口内的每个像素为处理单元; for (窗口内的每一个像素) { 确定距视点最近的物体,以该物体表面的颜色来显示像素} 假设场景中有k个物体,平均每个物体表面由h个多边形构成,显示区域中有m x n个像素,则: 算法的复杂度为:O(mnkh) 面消隐算法的分类 第二类(物体空间的消隐算法 ):以场景中的物体为处理单元; for (场景中的每一个物体) { 将其与场景中的其它物体比较,确定其表面的可见部分; 显示该物体表面的可见部分; } 假设场景中有k个物体,平均每个物体表面由h个多边形构成,显示区域中有m x n个像素,则: 算法的复杂度为:O((kh)*(kh)) 提高消隐算法效率的常见方法 利用连贯性 将透视投影转换成平行投影 包围盒技术 背面剔除 空间分割技术 物体分层表示 提高消隐算法效率的常见方法1 利用连贯性:相邻事物的属性之间有一定的连贯性,其属性值通常是平缓过渡的,如颜色值、空间位置关系等。 物体连贯性 面的连贯性 区域连贯性 扫描线的连贯性 深度连贯性 提高消隐算法效率的常见方法1 物体连贯性:如果物体A与物体B是完全相互分离的,则在消隐时,只需比较A、B两物体之间的遮挡关系就可以了,无须对它们的表面多边形逐一进行测试。例如,若A距视点较B远,则在测试B上的表面的可见性时,无须考虑A的表面。 面的连贯性:一张面内的各种属性值一般都是缓慢变化的,允许采用增量形式对其进行计算。 区域连贯性:区域指屏幕上一组相邻的像素,它们通常为同一个可见面所占据,可见性相同。区域连贯性表现在一条扫描线上即为扫描线上的每个区间内只有一个面可见。 提高消隐算法效率的常见方法1 扫描线的连贯性:相邻两条扫描线上,可见面的分布情况相似。 深度连贯性:同一表面上的相邻部分深度是相近的,而占据屏幕上同一区域的不同表面的深度不同。这样在判断表面间的遮挡关系时,只需取其上一点计算出深度值,比较该深度值即可得到结果。 提高消隐算法效率的常见方法2 将透视投影转换成平行投影 消隐与透视关系密切,体现在: 1)消隐必须在投影之前完成; 2)物体之间的遮挡关系与投影中心(视点)的选取有关; 3)物体之间的遮挡关系与投影方式有关 提高消隐算法效率的常见方法3 包围盒技术 定义:一个形体的包围盒指的是 包围它的简单形体。 一个好的包围盒要具有两个条件: 包围和充分紧密包围着形体; 对其的测试比较简单。 提高消隐算法效率的常见方法3 应用—避免盲目求交 例如:两个空间多边形A、B在投影平面上的投影分别为A’,B’ ,因为A’ 、B’的矩形包围盒不相交,则A’、B’不相交,无须进行遮
原创力文档


文档评论(0)