CG11图形消隐处理.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CG11图形消隐处理

图形消隐处理 隐藏线和隐藏面的消除是计算机图形学的一个基本问题。空间的一个三维物体输出到二维显示设备时,为了使计算机生成的二维图形能真实地反映这一情况,必须把隐藏线或隐藏面消去。 对于随机显示器产生的和绘图机绘出的线框图,要消除隐藏线。而对于光栅扫描显示器和点阵图形产生的浓淡图形,物体主要靠面表示,因而要消除隐藏面。 基本假定 (1)对象不同的面不能互相贯穿。 (2)不能有循环遮挡的情况。 如果出现这些情况,则可将其中几个面分解成几部分,从而消除这种情况。 4,列表优先算法(画家算法) 列表优先算法也称优先级表算法,及深度排序算法。该算法同时运用物体空间和图像空间操作,以实现下述两个基本功能: (1)将面片按深度递减方向排序。 (2)由深度最大的面片开始,逐个对面片进行扫描转换,即由深度最大的多边形表面开始,把多边形表面的颜色填入帧缓冲存储器中。 上述算法的困难在于怎样完成画面中各多边形在各种不同情况下正确的深度排序,从而形成一个正确深度优先表。 * 根据图形消隐算法实现所在的坐标系或空间,图形消隐的算法可分为两大类: (1)物体对象空间算法:物体对象空算法所研究的物体对象所定义的世界坐标系的三维空间进行。主要着于物体间的几何关系来确定线段和面的可见性,采用高精度计算,把图形放大而不影响其精确性。其缺点是:随着物体的增多,计算量迅速增大。此算法适用于精密的工程应用领域。 (2)图像空间算法:图像空间算法是在显示图形的二维屏幕坐标系中实现。着眼于视区中每一像素的可见性,计算精度和计算量取决于像素的多少。该种算法比较粗糙,而且按图像空算法得到的画面在放大后效果往往不能令人满意。其优点是该算法计算量较小,算法效率比较高,这是因为在光栅扫描过程中可以充分得用画面的连贯性。 凸多面体是由若干个平面围成的物体。设这些平面方程为: aix+biy+ciz+di=0 可以通过调整系数符号,使得当某点P0位于物体所在一侧时, aix+biy+ciz+di0 若视点E与多面体第i面上的一点Pi的连线的方向为:(li,mi,ni)。那么当(ai,bi,ci)?(li,mi,ni)0时,平面为自隐藏面。任意两个自隐藏面的交线,为自隐藏线。 对于任意一个凸多面体,我们可以先求出所有自隐藏面,并标记它们,然后检索每一条边。若交于某一条边的两个面均为自隐藏面,则该边为自隐藏边,在绘制时可予以消除或用虚线输出。 y x z E i 凸多面体组成的物体的隐藏线的消除。 Roberts隐藏线消除方法: 物体表面的一条边,即使不被物体自身隐藏,也可能被别的物体遮挡。由于一个凸多面体只遮住一条线段的一个小区间,我们只需求出该区间的端点,即可确定线段的隐藏部分。若这样的区间不存在,则线段不被该凸多面体所隐藏。 设线段的端两点为P1P2。可以把线段参数化表示为: P(t)=P1+(P2-P1)t    (0≤t≤1) 视点E与线段的两个端点定义一一个空间三角形:?EP1P2这个三角形区域的参数表示为: Q(s,t)=E+(P(t)-E)s=E+(P1-E)s+(P2-P1)ts 凸多面体V遮挡线段P1P2 的充要条件是体V与三角形?E P1P2相交,即该三角形区域内有点包含于体V中,也就是存在s和t使得 Ni? Q(s,t)+di0 其中Ni=(ai,bi,ci) 所以得到不等式组: Ni? Q(s,t)+di0 (0≤t≤1) (0≤s≤1) 如此不等式有解,则解的最大和最小值就是隐藏线段的端点参数。 这种方法的缺点是计算量很大。 P1 P2 P(t)=P1+(P2-P1)t E X Y Z V Q(s,t)=E+(P(t)-E)s 消隐算法的加速: 在消隐处理中,应尽快把完全不可见的线段和面及完全可见的线段和面找出来,并把完全不可见的线段或面尽早排除,以减少计算量。 (1)引入体BOX和面BOX的概念。BOX是用多面体在投影面上的最大外包尺寸形成的矩形。由于遮挡都是对于某个投影面而言。因此,体BOX和面BOX也是对应于实体的某个投影面的BOX。当投影面有所改变时,BOX也会有相应的改变。 (2)充分利用连贯性。要确定一个点、线或面的不可见,只要发现一个遮挡它的面即可。而要确定其可见,则要考虑所有的面。因此当发现一个面遮蔽了某个测试点、线时,马上把这个面的测试置为优先。由于连贯性,它可能遮挡了此点邻近的点或线。若得用这种连贯性进行测试,有时可以将消隐处理的速度提高一个数量级。 Hmax Bmax Hmax Bmax 二、一般多面体的消隐处理 1,一般多面体模型可能包含若干个凸凹多面体组成,要对此模型进行消隐处理,需要对物体

文档评论(0)

ranfand + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档