计算机图形学基础教程——第2章3.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文档。上传文档
查看更多
第二章 光栅图形学 2.1直线段的扫描转换算法 2.2圆弧的扫描转换算法 2.3多边形的扫描转换与区域填充 2.4字符 2.5裁剪 2.6反走样 2.7消隐 2.7 消隐 消隐的分类 消除隐藏线 消除隐藏面 画家算法 Z缓冲区 Z-Buffer 算法 扫描线Z-buffer算法 区域子分割算法 光线投射算法 基本概念 投影变换失去了深度信息,往往导致图形的二义性 要消除二义性,就必须在绘制时消除被遮挡的不可见的线或面,习惯上称作消除隐藏线和隐藏面,简称为消隐。 经过消隐得到的投影图称为物体的真实图形。 长方体线框投影图的二义性 消隐的对象是三维物体。三维体的表示主要有边界表示和CSG表示等。 消隐结果与观察物体有关,也与视点有关。 线框图 消隐图 真实感图形 物体的表示 CSG表示 边界表示 体、面、环、边、点 2.7.1消隐的分类 按消隐对象分类 线消隐 消隐对象是物体上的边,消除的是物体上不可见的边。 面消隐 消隐对象是物体上的面,消除的是物体上不可见的面。 Southerland按消隐空间分类 物体空间的消隐算法 (光线投射、Roberts) 将场景中每一个面与其他每个面比较,求出所有点、边、面遮挡关系。 Roberts的故事:IEEE CS计算机先驱奖 图像空间的消隐算法 Z-buffer、扫描线、Warnock 对屏幕上每个象素进行判断,决定哪个多边形在该象素可见。 物体空间和图像空间的消隐算法 画家算法 在物体空间中预先计算面的可见性优先级,再在图像空间中生成消隐图。 2.7.2消除隐藏线 对造型的要求 在线框显示模型中,要求造型系统中有面的信息,最好有体的信息。 坐标变换 将视点变换到Z轴的正无穷大处,视线方向变为Z轴的负方向。 最基本的运算 判断面对线的遮挡关系.反复地进行线线、线面之间的求交运算 平面对直线段的遮挡判断算法 视点与线段同侧 包围盒不交 分段交替取值 线面相交 线面平行,线在面后 线面交与线段外 1 若线段的两端点及视点在给定平面的同侧,线段不被给定平面遮挡,转7 2 若线段的投影与平面投影的包围盒无交,线段不被给定平面遮挡,转7 3 求直线与相应无穷平面的交。若无交点,转4。否则,交点在线段内部或外部。若交点在线段内部,交点将线段分成两段,与视点同侧的一段不被遮挡,另一段在视点异侧,转4再判;若交点在线段外部,转4。 4 求所剩线段的投影与平面边界投影的所有交点,并根据交点在原直线参数方程中的参数值求出Z值 即深度 。若无交点,转5。 5 以上所求得的各交点将线段的投影分成若干段,求出第一段中点。 6 若第一段中点在平面的投影内,则相应的段被遮挡,否则不被遮挡;其他段的遮挡关系可依次交替取值进行判断。 7 结束。 前向面、后向面 为了提高算法的效率,需要设法减少求交的工作量。 若V· N 0,称该多边形为后向面。 若V· N 0,称该多边形为前向面。 后向面总是看不见的,不会由于后向面的遮挡,而使别的棱成为不可见的。因此计算时,可以把这些后向面全部去掉,这并不影响消隐结果。 示意图? 前向面 后向面 多面体的隐藏线消除 图3中的JEAF、HCBG和DEABC所在的面均为后向面。其它为前向面。 线消隐 基本数据结构 面表 存放参与消隐的面 + 线表 存放待显示的线 算法 假设E为面F的一条边, 需判别F以外每一个面与E的遮挡关系. 2.7.3消除隐藏面 3.3.1画家算法(列表优先算法) 先把屏幕置成背景色, 再把物体的各个面按其离视点的远近进行排序,排序结果存在一张深度优先级表中。 然后按照从远到近的顺序逐个绘制各个面。 关键是如何对场景中的物体按深度排序 对场景中的物体按深度排序 深度重叠测试. Zmin P Zmin Q ,若Zmax P Zmin Q ,则P肯定不能遮挡Q。 投影重叠判断 P和Q在oxy平面上投影的包围盒在x方向上不相交 P和Q在oxy平面上投影的包围盒在y方向上不相交 P和Q在oxy平面上的投影不相交 P在Q之后。P的各顶点均在Q的远离视点的一侧 Q在P之前。Q的各顶点均在P的靠近视点的一侧 精确的重叠测试 以上测试失败,须作进一步判断。计算时不必具体求出重叠部分。在交点处进行深度比较,只要能判断出前后顺序即可。 若遇到多边形相交或循环重叠的情况(如图f),还必须在相交处分割多边形,然后进行判断。 P不遮挡Q的各种情况 ab,c,d,e 及互相遮挡f 2.7.3.2 Z缓冲区算法 帧缓存来存放每个象素的颜色值 初值可放对应背景颜色的值 深度缓存来存放每个象素的深度值。 初值取成z的极小值。 算法过程 在把显示对象的每个面上每一点的属性(颜色或灰度)值填入帧缓冲器相应单元前,要把这点的z

文档评论(0)

报告论文库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档