- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第九章:真实感图形学9.1消隐真实图形在仿真模拟、几何造型、广告影视、指挥控制和科学计算的可视化等许多领域有广泛应用。用计算机生成三维物体的真实图形,是计算机图形学研究的重要内容。显示设备描述物体的图形时,必须把三维信息经过某种投影变换,在二维的显示表面上绘制出来。由于投影变换失去了深度信息,往往导致图形的二义性(如图9.1所示)。要消除二义性,就必须在绘制时消除被遮挡的不可见的线或面,称作消除隐藏线和隐藏面,或简称为消隐。经过消隐得到的投影图称为物体的真实图形。.12024/7/12
第九章:真实感图形学图9.1长方体线框投影图的二义性图9.2线框图?????????图9.3消隐图??????????图9.4真实感图形.22024/7/12
第九章:真实感图形学消隐的分类消隐的对象是三维物体。三维体的表示:边界表示和CSG(结构实体几何学)表示等。最简单的表示方式:用表面上的平面多边形表示。如物体的表面是曲面,则将曲面用多个平面多边形近似。消隐结果与观察物体有关,也与视点有关。按消隐对象分类线消隐消隐对象是物体上的边,消除物体上不可见的边。面消隐消隐对象是物体上的面,消除物体上不可见的面。.32024/7/12
第九章:真实感图形学Southerland根据消隐空间的不同,将消隐算法分为三类:物体空间的消隐算法(光线投射、Roberts)?将场景中每一个面与其他每个面比较,求出所有点、边、面遮挡关系。图像空间的消隐算法(Z-buffer、扫描线、warnock)?对屏幕上每个象素进行判断,决定哪个多边形在该象素可见。物体空间和图像空间的消隐算法(画家算法)?在物体空间中预先计算面的可见性优先级,再在图像空间中生成消隐图。.42024/7/12
第九章:真实感图形学消除隐藏线对造型的要求在线框显示模型中,用边界线表示有界平面,用边界线及若干参数曲线表示参数曲面,所以待显示的所有实体均为线。但线不可能对线有遮挡关系,只有面或体才有可能对线形成遮挡。故消隐算法要求造型系统中有面的信息,最好有体的信息。正则形体的消隐可利用其面的法向量,比一般情况快的多。坐标变换为运算方便,一般通过平移、旋转、透视等各种坐标变换,将视点变换到Z轴的正无穷大处,视线方向变为Z轴的负方向。变换后,坐标Z值反映了相应点到视点的距离,作为判断遮挡的依据。对视角以外的物体应先行虑掉,减少不必要的运算。.52024/7/12
第九章:真实感图形学线消隐中最基本的运算判断面对线的遮挡关系。体也要分解为面,再判断面与线的遮挡关系。在遮挡判断中,要反复地进行线线、线面之间的求交运算。图9.5???遮挡关系.62024/7/12
第九章:真实感图形学平面对直线段的遮挡判断算法不失一般性,取视点在Z轴正无穷远,视线为Z轴负方向,物体投影到XOY平面上。若线段的两端点及视点在给定多边形的同侧,线段不被其遮挡,转7(结束)。(深度检测,多边形顶点的最大Z坐标小于等于线段端点的最小Z坐标,多边形完全在线段之后,不可能遮挡线段,即线段完全可见)若线段的投影与多边形投影的包围盒(覆盖多边形投影的最小矩形区域)无交,线段不被给定多边形遮挡,转7(结束)。求直线与相应多边形的交。若无交点,转4。否则,交点在线段内部或外部。若交点在线段内部,交点将线段分成两段,与视点同侧的一段不被遮挡,另一段在视点异侧,转4再判;若交点在线段外部,转4。.72024/7/12
第九章:真实感图形学求所剩线段(可能被遮挡部分)的投影与多边形边界投影的所有交点,并根据交点在原直线参数方程中的参数值求出Z值(即深度)。若无交点,转5。以上所求得的各交点将线段的投影分成若干段,求出第一段中点。若第一段中点在平面的投影内,则相应的段被遮挡,否则不被遮挡;其他段的遮挡关系可依次交替取值进行判断。结束。.82024/7/12
第九章:真实感图形学图9.6视点与线段同侧???????图9.7包围盒不交图9.8分段交替取值.92024/7/12
第九章:真实感图形学线消隐算法基本数据结构:面表(存放参与消隐的面)+线表(存放待显示的线)HiddenLineRemove(){坐标变换;?for(对每个面Fj)??for(Fj的每一条边Ei)将二元组Ei,j压入堆栈?While(栈不空)?{Ei,j0=栈顶;???for(j!=j0的每一个面Fj){if(Ei被Fj全部遮挡){将Ei清空;break;}if(Ei被Fj部分遮挡){从Ei中将被遮挡的部分裁掉;??if(Ei被分成若干段)??{取其中的一段作为当前
文档评论(0)