教育学消隐.pptx
《教育学消隐.pptx》由会员分享,可在线阅读,更多相关《教育学消隐.pptx(60页珍藏版)》请在咨信网上搜索。
1、计通学院计通学院 计算机科学系计算机科学系计算机图形学计算机图形学1 第第10章章 隐藏面的消除隐藏面的消除 (Hidden-Surface Removal)2第第10章章 隐藏面的消除隐藏面的消除l基本概念基本概念l提高消提高消隐算法效率的常用方法算法效率的常用方法l画家算法画家算法lZ缓冲器算法冲器算法l扫描描线Z缓冲器算法冲器算法l扫描描线算法算法l光光线投射算法投射算法lOpenGL相关函数相关函数3本章目标本章目标l消消隐的基本概念的基本概念l重点掌握重点掌握Z缓冲器(冲器(Buffer)消)消隐算法算法l学会使用学会使用OpenGL的函数的函数4l问题n投影投影变换失去了深度信息,
2、往往失去了深度信息,往往导致致图形的二形的二义性及失去性及失去遮遮挡关系关系n要消除二要消除二义性和保持遮性和保持遮挡关系,就必关系,就必须在在绘制(投影)制(投影)时消除被遮消除被遮挡的不可的不可见的的线或面,或面,习惯上称作消除上称作消除隐藏藏线和和隐藏面,藏面,简称称为消消隐失去遮挡关系失去遮挡关系长方体线框投影图的二义性长方体线框投影图的二义性10.1 基本概念基本概念5l消消隐的的对象象n三三维物体物体n三三维体的表示主要采用体的表示主要采用边界(多界(多边形)表示形)表示l消消隐结果果n与与观察物体有关,也与察物体有关,也与视点位置和方向有关点位置和方向有关线框图线框图 消隐图消隐
3、图 真实感图形真实感图形10.1 基本概念基本概念6l消消隐分分类n消除消除隐藏面:确定可藏面:确定可见面(消除不可面(消除不可见面)面)表面表示表面表示物体(本章物体(本章讨论)n消除消除隐藏藏线:消除不可:消除不可见线线框表示物体框表示物体长方体线框投影图的二义性长方体线框投影图的二义性失去遮挡关系失去遮挡关系10.1 基本概念基本概念7l面消面消隐算法分算法分类n投影窗口内的像素投影窗口内的像素为处理理单元。元。确定最近点确定最近点 for(窗口内的每一个像素窗口内的每一个像素)确定距确定距视点最近的物体,以点最近的物体,以该物体表面的物体表面的颜色来色来显示像素示像素 图像空间图像空间
4、image-space10.1 基本概念基本概念8l面消面消隐算法分算法分类(续)n场景中的物体景中的物体为处理理单元。元。物体上的面是否最近物体上的面是否最近for(for(场景中的每一个物体场景中的每一个物体)将其与场景中的其它物体比较,确定其表面的可见部分;将其与场景中的其它物体比较,确定其表面的可见部分;显示该物体表面的可见部分;显示该物体表面的可见部分;场景空间场景空间object-space10.1 基本概念基本概念9第第10章章 隐藏面的消除隐藏面的消除l基本概念基本概念l提高消提高消隐算法效率的常用方法算法效率的常用方法l画家算法画家算法lZ缓冲器算法冲器算法l扫描描线Z缓冲器
5、算法冲器算法l扫描描线算法算法l光光线投射算法投射算法lOpenGL相关函数相关函数1010.2 提高消隐算法效率的常用方法提高消隐算法效率的常用方法l主要技主要技术1.利用利用连贯性性n相相邻物体的属性之物体的属性之间有一定的有一定的连贯性,其属性性,其属性值通常是平通常是平缓过渡的,如渡的,如颜色色值、空、空间位置关系等位置关系等n包括包括:u物体物体连贯性性u面的面的连贯性性u区域区域连贯性性u扫描描线连贯性性u深度深度连贯性性1110.2 提高消隐算法效率的常用方法提高消隐算法效率的常用方法(1)物体)物体连贯性:如果物体性:如果物体 A 与物体与物体 B 是完全相互是完全相互分离的,
6、分离的,则在消在消隐时,只需比,只需比较A、B 两物体之两物体之间的的遮遮挡关系,无关系,无须对它它们的表面多的表面多边形逐一形逐一进行行测试。例如,若例如,若 A 距距视点点较 B 远,则在在测试 B 上的表面的上的表面的可可见性性时,无,无须考考虑 A 的表面的表面(2)面的)面的连贯性:一性:一张面内的各种属性面内的各种属性值一般都是一般都是缓慢慢变化的,允化的,允许采用增量形式采用增量形式对其其进行行计算算1210.2 提高消隐算法效率的常用方法提高消隐算法效率的常用方法(3)区域)区域连贯性:区域指屏幕上一性:区域指屏幕上一组相相邻的像素,它的像素,它们通通常常为同一个可同一个可见面
7、所占据,可面所占据,可见性相同。区域性相同。区域连贯性表性表现在一条在一条扫描描线上上时,即,即为扫描描线上的每个区上的每个区间内只有一个内只有一个面可面可见(4)扫描描线的的连贯性:相性:相邻两条两条扫描描线上,可上,可见面的面的分布情况相似分布情况相似(5)深度)深度连贯性:同一表面上的相性:同一表面上的相邻部分深度是相近部分深度是相近的,而占据屏幕上同一区域的不同表面的深度不同。的,而占据屏幕上同一区域的不同表面的深度不同。这样在判断表面在判断表面间的遮的遮挡关系关系时,只需取其上一点,只需取其上一点计算出深度算出深度值,比,比较该深度深度值便能得出便能得出结果果1310.2 提高消隐算
8、法效率的常用方法提高消隐算法效率的常用方法2.透透视投影投影转换为平行投影平行投影u消消隐在投影前完成在投影前完成u物体物体间的遮的遮挡关系与投影中心相关关系与投影中心相关u物体物体间的遮的遮挡关系与投影方式相关关系与投影方式相关1410.2 提高消隐算法效率的常用方法提高消隐算法效率的常用方法3.包包围盒技盒技术定定义:一个形体的包:一个形体的包围盒指的是包盒指的是包围它的它的简单形体形体两个条件两个条件u包包围盒充分盒充分紧密包密包围着形体着形体u对其的其的测试比比较简单主要包主要包围盒盒u长方体方体u正方体正方体u球球1510.2 提高消隐算法效率的常用方法提高消隐算法效率的常用方法作用
9、作用避免盲目求交避免盲目求交n例如:两个空例如:两个空间多多边形形A、B在投影平面上的投影分在投影平面上的投影分别为A,B,因,因为A、B 的矩形包的矩形包围盒不相交,盒不相交,则A、B 不相交,无不相交,无须进行遮行遮挡测试。如果包如果包围盒相交,需盒相交,需进一步一步测试。右下。右下图(a)包包围盒相交,投影也相交;盒相交,投影也相交;(b)包包围盒相交,投影不相交盒相交,投影不相交n一般情况下,判断两物体是否遮一般情况下,判断两物体是否遮挡时,前一种情况大量存在,避免了,前一种情况大量存在,避免了物体物体间的复的复杂相交相交测试。1610.2 提高消隐算法效率的常用方法提高消隐算法效率的
10、常用方法4.背面剔除背面剔除n外法向:外法向:规定每个多定每个多边形的外法向都是指向物体外部的形的外法向都是指向物体外部的n前向面:若多前向面:若多边形的外法向与投影方向(形的外法向与投影方向(观察方向)的察方向)的夹角角为钝角,称角,称为前向面前向面n后向面:若多后向面:若多边形的外法向与投影方向(形的外法向与投影方向(观察方向)的察方向)的夹角角为锐角,称角,称为后向面(背面)后向面(背面)夹角为夹角为180u投影方向投影方向1710.2 提高消隐算法效率的常用方法提高消隐算法效率的常用方法n剔除依据:背面剔除依据:背面总是被前向面所遮是被前向面所遮挡,从而不可,从而不可见前向面前向面 后
11、向面后向面JEAF、HCBG、JIHGF为为后向面后向面CGV VABDEFHIJN NVnVn1810.2 提高消隐算法效率的常用方法提高消隐算法效率的常用方法5.空空间分割技分割技术n遮遮挡判断依据:判断依据:场景中的物体,它景中的物体,它们的投影在投影平的投影在投影平面上是否有重叠部分?(是否存在相互遮面上是否有重叠部分?(是否存在相互遮挡的可能?)的可能?)对于根本不存在相互遮于根本不存在相互遮挡关系的物体,关系的物体,应避免避免这种不种不必要的必要的测试n原因:物体在原因:物体在场景中分散,有些物体的投影相距甚景中分散,有些物体的投影相距甚远,不会存在遮不会存在遮挡关系关系n方法:将
12、投影平面上的窗口分成若干小区域;方法:将投影平面上的窗口分成若干小区域;为每个每个小区域建立相关物体表,表中物体的投影于小区域建立相关物体表,表中物体的投影于该区域有区域有相交部分;相交部分;则在小区域中判断那个物体可在小区域中判断那个物体可见时,只要,只要对该区域的相关物体表中的物体区域的相关物体表中的物体进行比行比较1910.2 提高消隐算法效率的常用方法提高消隐算法效率的常用方法6.物体的分物体的分层表示表示n表示形式:模型表示形式:模型变换中的中的树形表示方式形表示方式n原理:减少原理:减少场景中物体的个数,从而降低算法复景中物体的个数,从而降低算法复杂度度20方法:方法:将父将父节点
13、所代表的物体看成子点所代表的物体看成子节点所代表物体的包点所代表物体的包围盒,当两个父盒,当两个父节点之点之间不存在遮不存在遮挡关系关系时,就没有必,就没有必要要对两者的子两者的子节点做点做进一步一步测试。父。父节点之点之间的遮的遮挡关关系可以用它系可以用它们之之间的包的包围盒盒进行行预测试10.2 提高消隐算法效率的常用方法提高消隐算法效率的常用方法21第第10章章 隐藏面的消除隐藏面的消除l基本概念基本概念l提高消提高消隐算法效率的常用方法算法效率的常用方法l画家算法画家算法lZ缓冲器算法冲器算法l扫描描线Z缓冲器算法冲器算法l扫描描线算法算法l光光线投射算法投射算法lOpenGL相关函数
14、相关函数22l背景背景n画家作画:先画远景后画近景画家作画:先画远景后画近景n画家的作画顺序暗示出所画物体之间的相互遮挡关系画家的作画顺序暗示出所画物体之间的相互遮挡关系10.3 画家算法画家算法23l算法基本思想:算法基本思想:1)先把屏幕置成背景色)先把屏幕置成背景色2)将)将场景中的物体按其距景中的物体按其距观察点的察点的远近近进行排序,行排序,结果放果放在一在一张线性表中;(性表中;(线性表构造:距性表构造:距观察点察点远的称的称优先先级低,放在表低,放在表头;距;距观察点近的称察点近的称优先先级高,放在表尾。高,放在表尾。该表称表称为深度深度优先先级表)表)3)然后按照从)然后按照从
15、远到近(从表到近(从表头到表尾)的到表尾)的顺序逐个序逐个绘制物制物体。体。l关关键n如何如何对场景中的物体按深度(景中的物体按深度(远近)排序,建立深度近)排序,建立深度优先先级表?表?10.3 画家算法画家算法24l多多边形的排序算法形的排序算法*1)将)将场景中所有多景中所有多边形存入一个形存入一个线性表,性表,记为L;2)如果)如果L中中仅有一个多有一个多边形,算法形,算法结束;否束;否则根据每个多根据每个多边形的形的nmin 对它它们预排序。不妨假定多排序。不妨假定多边形形P落在落在L的表首,即的表首,即nmin(P)为最小。最小。再再记 Q 为 L P(表中其余多表中其余多边形)中
16、任意一个;形)中任意一个;3)判)判别P,Q之之间的关系,有如下二种:的关系,有如下二种:(1)对所有的所有的Q,有,有nmax(P)nmin(Q),需,需进一步判一步判别:10.3 画家算法画家算法在规范投影坐标系里在规范投影坐标系里 uvn 中,投影方向是中,投影方向是 n 轴的负方向,轴的负方向,因而因而 n 坐标大者距观察者更近。坐标大者距观察者更近。nmin(P)和和 nmax(P)分别为分别为 P 各顶点各顶点 n 坐标的最小和最大值。坐标的最小和最大值。投影为正平行投影投影为正平行投影25(A)若)若P,Q的投影的投影 P,Q 的包的包围盒不相盒不相交交(图a),则P,Q 在表中
17、的次序不重要,在表中的次序不重要,令令L=L P,返回返回2);否否则进行下一行下一步步(B)若)若 P 的所有的所有顶点位于点位于 Q 所在平面所在平面的不可的不可见的一的一侧(图b),则P,Q关系正关系正确,令确,令L=L P,返回返回 2);否否则进行下一步行下一步10.3 画家算法画家算法26(C)若)若Q的所有的所有顶点位于点位于 P 所在平面的所在平面的可可见的一的一侧(图c),则P,Q关系正确,令关系正确,令L=L P,返回返回2);否否则进行下一步行下一步(D)对P,Q投影投影P,Q求交,若求交,若P,Q不不相交相交(图d),则P,Q在表中的次序不重要,在表中的次序不重要,令令
18、L=L P,返回返回 2);否否则在它在它们所所相交的区域中任取一点,相交的区域中任取一点,计算算 P,Q在在该点的深度点的深度值,如果,如果 P 的深度小,的深度小,则P,Q关系正确,令关系正确,令L=L P,返回返回 2);否否则交交换P,Q,返回返回3)10.3 画家算法画家算法27l问题*n不能不能处理多理多边形循形循环遮遮挡和多和多边形相互穿透形相互穿透n解决方法:分割解决方法:分割10.3 画家算法28第第10章章 隐藏面的消除隐藏面的消除l基本概念基本概念l提高消提高消隐算法效率的常用方法算法效率的常用方法l画家算法画家算法lZ-Buffer(缓冲器冲器)算法算法l扫描描线Z缓冲
19、器算法冲器算法l扫描描线算法算法l光光线投射算法投射算法lOpenGL相关函数相关函数29l又称又称 ZBuffer算法算法(深度深度缓冲冲 depth-buffer)l组成:成:n帧缓冲器冲器-保存各像素保存各像素颜色色值n Z 缓冲器冲器 -保存各像素保存各像素处物体深度物体深度值 10.4 Z 缓冲器算法缓冲器算法Z 缓冲器中的单元与帧缓冲器中的单元一一对应缓冲器中的单元与帧缓冲器中的单元一一对应30l算法算法(1)先将)先将 Z 缓冲器中个冲器中个单元的初始元的初始值置置为最小最小值。(2)多)多边形投影形投影时,当要改,当要改变某个像素的某个像素的颜色色值时,首先,首先检查当前多当前
20、多边形的深度形的深度值是否大于是否大于该像像素原来的深度素原来的深度值(保存在(保存在该像素所像素所对应的的Z缓冲冲器的器的单元中),元中),A:如果大于,:如果大于,说明当前多明当前多边形更靠近形更靠近观察点,用察点,用它的它的颜色替色替换像素原来的像素原来的颜色;同色;同时保存深度保存深度值 B:否:否则说明在当前像素明在当前像素处,当前多,当前多边形被前面所形被前面所绘制的多制的多边形遮形遮挡了,是不可了,是不可见的,像素的的,像素的颜色色值不改不改变10.4 Z缓冲器算法缓冲器算法31l算法算法伪码 帧缓存全置存全置为背景色;背景色;深度深度缓存全置存全置为最小最小 Z 值;for(每
21、一个多每一个多边形形)for(该多多边形所覆盖的每个像素形所覆盖的每个像素(x,y)计算算该多多边形在形在该像素的深度像素的深度值 Z(x,y);if(Z(x,y)大于大于Z缓存在存在(x,y)的的值)把把 Z(x,y)存入存入 Z 缓存中存中(x,y)处;把多把多边形在形在(x,y)处的的颜色色值存入存入帧缓存的存的(x,y)处;10.4 Z缓冲器算法缓冲器算法32l特点特点nZ 缓冲器算法是所有图像空间算法中最简单的一种隐藏缓冲器算法是所有图像空间算法中最简单的一种隐藏面消除算法。面消除算法。在像素级上以近物取代远物,与形体在屏在像素级上以近物取代远物,与形体在屏幕上的出现顺序无关。幕上的
22、出现顺序无关。n优点优点 1 1)简单稳定,利于硬件实现)简单稳定,利于硬件实现 2 2)不需要整个场景的几何数据)不需要整个场景的几何数据n缺点缺点 1 1)需要一个额外的)需要一个额外的 Z 缓冲器缓冲器 2 2)每个多边形占据的每个像素处都要计算深度值,)每个多边形占据的每个像素处都要计算深度值,计算量大计算量大10.4 Z缓冲器算法缓冲器算法33l基本概念基本概念l提高消提高消隐算法效率的常用方法算法效率的常用方法l画家算法画家算法lZ缓冲器算法冲器算法l扫描描线Z缓冲器算法冲器算法l扫描描线算法算法l光光线投射算法投射算法lOpenGL相关函数相关函数第第10章章 隐藏面的消除隐藏面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教育学
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。