计算机图形学第5讲图形消隐_第1页
计算机图形学第5讲图形消隐_第2页
计算机图形学第5讲图形消隐_第3页
计算机图形学第5讲图形消隐_第4页
计算机图形学第5讲图形消隐_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、图形移除、2、图形移除、基本概念移除算法提高效率的一般方法画家算法Z缓冲区算法扫描线Z缓冲区算法OpenGL相关函数,3、问题投影转换深度信息丢失,经常丢失图形的异议和阻挡关系,、简单删除(hidden surface removal),4,5,隐藏对象三维体还具有视点位置和方向,线框隐藏图形,基本概念,6,删除隐藏分类删除隐藏线删除:删除不可见线删除线框显示对象删除隐藏面:确定可以见面(不可以见面)的曲面显示对象,8,基本概念,将世界坐标系的三个轴转换为与观测坐标系的三个轴相对应的反向平移变换,将观测参考点移动到世界坐标系的原点以旋转平移,将u、v、n分别映射到x、y和z以绕x轴旋转角度

2、,绕y轴旋转角度,绕z轴旋转角度以消除隐藏线,平面对直线段的阻挡判断算法思路:(2)如果线段的投影与平面投影的边界框不相交,则如果没有交点,请旋转至4。否则,pi位于段内部或外部。如果交点在线段内部,则交点将线段分为两条线段。与视点位于同一侧的一段没有被遮挡,另一段位于视点的另一侧,旋转四次进行判定。如果交点位于线段外部,则旋转4。12,P0,(4)寻找剩馀线段投影与平面边界投影的所有交点。如果没有交点,则在5,13,P0,P1,p2,P3,P4,P5,(5)上方获得的每个交点将线段的投影分为多个线段,以找到第一条线段的中点。(6)如果第一条线段的中点在平面的投影内,则该线段将被遮挡,否则不会

3、被遮挡。其他段的阻挡关系可以依次通过改变值来判断。,14,P0,P1,p2,P3,P4,P5,隐藏线移除,HiddenLineRemove()座标转换;For(对于每个面FJ,Fj) for(Fj的每个边Ei)二进制组推送到堆栈While(堆栈不为空)=堆栈顶部。For(j!=清空j0的每个面Fj) if (Ei全部被Fj遮挡)Ei。布列克;If (Ei被Fj部分遮挡)剪切Ei中遮挡的部分。If(Ei分为多个段)采用其中一个作为当前Ei段。压缩其他分段及其j堆栈。If(Ei段不为空)显示Ei;While(堆栈不为空)=堆栈顶部;For(j!=清空j0的每个面Fj) if (Ei全部被Fj遮挡)

4、Ei。布列克;If (Ei被Fj部分遮挡)剪切Ei中遮挡的部分。If(Ei分为多个段)采用其中一个作为当前Ei段。压缩其他分段及其j堆栈。If(Ei段不为空)显示Ei;15,获取分割策略,简单移除,每个边的阻挡。16、面移除算法分类投影窗口中的像素确定处理单元的最近点for(窗口中的每个像素)。确定离视点最近的对象,并以该对象曲面的颜色显示像素。图像空间image-显示物体表面的可见部分。对象空间对象空间、基本概念、18、提高剔除算法效率的一般方法、主要技术1颜色值、空间位置关系等包括:对象一致性面的一致性区域一致性扫描线一致性深度一致性、19、提高剔除算法效率的一般方法、提高边界框技术定义剔

5、除算法效率的一般方法、投影平面中的两个空间多边形A因为a,B的矩形包围盒不相交。a、B不相交。不需要阻挡测试。一般来说,在判断两个物体是否被阻挡时,以前的情况大量存在,以避免对象之间复杂的交叉测试。背面剔除外部法线:指定每个多边形的外部法线是指向对象外部的正面。如果多边形的外部法线和投影方向(观察方向)的角度是钝角,则称为前背面。多边形的外部法线和投影方向(观察方向)的角度为预压印时称为背面(背面),角度为180u删除基准:背面始终隐藏在前面,看不到。对于完全没有前后关系的对象,JEAF、HCBG、JIHGF应避免不必要的测试原因。也就是说,对象分布在场景中,某些对象的投影距离很远,并且没有阻

6、挡关系方法。将投影平面上的窗拆分为较小的区域。对于每个小区域,创建对象的投影与该区域相交的相关对象表。在确定小区域中的对象可见时,通过比较该区域的相关对象表中的对象提高剔除算法效率的一般方法,将投影平面的窗口分成多个小区域的一般方法,24,25,提高剔除算法效率的一般方法,对象的层次表示:模型转换的树表示原理:减少场景中的对象数减少算法方法:将父节点表示的对象视为子节点表示的对象的边界框,如果两个父节点之间没有阻挡关系,则无需再测试两个子节点父节点之间的遮挡关系可以用它们之间的包围盒来预测。提高10.2剔除算法效率的一般方法,27,画背景画家。先画远景,然后再画近景的绘制顺序,依次是所画物体之

7、间的相互遮挡关系、画家算法、算法、28、算法基本思想:1)首先将屏幕设置为背景色2)将接近场景观察点的称谓优先顺序提高到后缀3),然后从远处(标头到尾部)到近(标头到尾部)依次绘制对象。画家算法,29,多边形排序算法:根据深度排序深度zmin排序确保一次性初步排序在zmin(P) nmin (Q),required P,Q表中的顺序无关紧要。没有阻挡(b)。如果P,Q投影P,Q相交,P,Q不相交,则P,Q在表中的顺序无关紧要。如果画家算法,31,(C) q的所有顶点都显示在p所在的平面上,则画家算法,32,问题无法处理多边形循环阻挡和多边形互穿解决方案。分割、画家算法、画家算法、33,34、Z

8、Buffer算法(深度缓存深度缓冲区-像素颜色值存储Z缓冲区中的单元与帧缓冲区中的单元一一对应、Z缓冲区算法、深度缓存深度缓存深度缓冲区同时存储深度值。否则,当前多边形将被以前绘制的多边形遮挡,像素的颜色值保持不变。z缓冲区算法、37和算法伪代码帧缓存都设置为背景色。深度缓存全部设置为最小z值。For(每个多边形)for(多边形复盖的每个像素(x,y)计算该像素的深度值Z(x,y)。If (Z(x,y)大于Z缓存(x,y)的值。将Z(x,y)保存到z缓存(x,y)。在(x,y)中,将多边形的颜色值存储在帧缓存(x,y)中。Z缓冲区算法,38,特征Z-Buffer算法是所有图像空间算法中最简单的

9、隐藏面去除算法。在像素级别用根物替换原物与屏幕上形体出现的顺序无关。优点简单、可靠,硬件实现的缺点需要额外的Z -Buffer。占用特定的存储空间。必须计算每个多边形占用的每个像素的深度值。计算量、z缓冲区算法、z缓冲区算法和增强的z缓冲区算法仅使用一个深度变量。不需要深度缓存图像读取点。多边形内,39,扫描线Z缓冲区算法由来普通Z缓冲区算法所需的Z缓冲区容量大的扫描线Z缓冲区普通Z缓冲区算法不使用包含连续性计算深度多边形的测试多边形扫描转换扫描线算法。包含测试深度计算(增量算法)深度缓存空间减少,40,扫描线Z缓冲区算法,主要想法是将一维阵列打开到当前扫描线的Z-buffer,以查找与当前扫

10、描线相关的多边形和每个多边形相关边对计算边对之间的深度增加算法。如果当前扫描像素可以查看像素颜色,请创建帧缓存以更新深度缓存、41、扫描线Z缓冲区算法。数据结构(加速结构)单多边形扫描转换算法边表(新边表,活动边表)扫描线Z-Buffer算法(多多边形)启用边表边对表(AET)添加右对信息,考虑扫描间隔附加深度和增量信息,启用增量算法考虑多边形表存储多多边形y表存储多边形扫描线Z考虑多个多边形外部循环。在每个循环结束之前更新活动多边形表。考虑深度信息在扫描每对边的像素时,使用增量算法计算深度更新深度缓存,43,扫描线Z缓冲区算法。通过将整个绘图窗口内的卸载问题分解为单个扫描线来解决。大幅减少所

11、需的Z缓冲区计算深度值时,使用面一致性,每个像素仅使用一个加法。N阶深度值N计算向该像素投影的多边形数,44,间隔扫描线算法。进一步利用扫描线的间隔一致性,每个扫描线部分只计算一次深度值。不需要Z-Buffer思想。需要绘制深度最大的多边形扫描线的父深度最大多边形是间隔中每个一致的间隔。寻找深度最大的面间距的分隔。由扫描线和多边形边界的交点确定。45,区间扫描线算法,如何获得区间最大深度的面?间距没有多边形。以背景颜色显示。间隙只有一个多边形。该多边形的颜色是否指示区段中有多个多边形?区间上采样点的深度,46,区间扫描线算法比较,如何获得区间上最大深度的面?间距是否有两个或更多多边形?如果多边

12、形通过两个多边形所在平面的交点与扫描线和交叉投影的交点相交,从而允许通过该交点进一步细分间隙,那么,47、间隙扫描线算法、特征:利用间隙一致性,避免了每个像素的多深度计算通用性、可扩展扩展扩展应用于所有曲面体的消除。,48,Warnock算法,John Edward Warnock(1940-)美国计算机科学家图形,出版行业先驱犹他大学数学和哲学学士数学硕士电子工程学博士Adobe的共同创始人,16年的CEO经历引领了Camelot项目,直到2001年退休。在PDF的前身1969年的博士论文中,删除的Warnock算法,49,Warnock算法,想法:分割法将复杂的方案分解为多个简单的方案,将大窗口分成小窗口。如果小窗口足够简单,则显示大窗口。多个多边形投影相交很多小窗口:单个多边形或多个多边形包围窗口的小窗口的下限。大窗口平均分为四个小窗口四元树、51、Warnock算法,类似于大窗口图形。简单的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论