欢迎来到天天文库
浏览记录
ID:50211053
大小:1.32 MB
页数:59页
时间:2020-03-10
《计算机图形学 教学课件 作者 徐文鹏 第7章 消隐.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、河南理工大学计算机图形学第7章消隐ComputerGraphics消隐的概述多面体的消隐算法深度缓冲器算法扫描线算法画家算法光线追踪算法(RayCasting)第7章消隐消隐概述什么是消隐?消隐的分类有哪些?消隐的基本原则有哪些?消隐的概述绘制线框图时应消除隐藏线,绘制真实感图形时应消除隐藏面。未经消除隐藏线和隐藏面的立体图往往存在二义性,如图7-2所示。(a)(b)(c)消隐的概述这种消除隐藏线或隐藏面的过程称为消隐处理,简称消隐。经过消隐得到的图形称为消隐图。消隐的概述消隐不仅与消隐对象有关,还与观察者
2、的位置有关。如图7-3所示,由于视点的位置不同,物体的可见部分也不同:BCADE1E2图7-3消隐与观察者的位置关系消隐的概述按消隐的对象分类线消隐(Hidden-line)面消隐(Hidden-surface)按消隐空间分类物体空间消隐算法图像空间消隐算法消隐的概述线消隐(Hidden-line)消隐对象是物体上不可见的线,一般用于线框图。当用笔式绘图仪或其它画线设备绘制图形时,主要使用这种算法。面消隐(Hidden-surface)消隐对象是物体上不可见的面,一般用于填色图。当用光栅扫描显示器绘制图形时
3、,主要使用这种算法。消隐的概述物体空间消隐算法物体空间是需要消隐的物体所在的三维空间。算法描述如下:for(场景中的每一个物体){将该物体与场景中的其它物体进行比较,确定其表面的可见部分;显示该物体表面的可见部分;}消隐的概述图像空间消隐算法图像空间是物体显示时所在的屏幕坐标空间。算法描述如下:for(窗口中的每一个像素){确定距视点最近的物体,以该物体表面的颜色来显示像素;}消隐的概述消隐基本原则排序排序的目的主要是判别消隐对象的体、面、边和点与观察点几何距离的远近。如果一个物体离观察点越远,越有可能被离
4、观察点近的物体所遮挡,如图7-4所示。但这不是绝对的,例如,不在同一观察线方向的两个物体不会有遮挡关系,如图7-5所示。P2P1观察点观察点P2P1图7-4P2被P1遮挡图7-5P2未被P1遮挡消隐的概述连贯性连贯性是指从一个事物到另一个事物,其属性值(如颜色值、空间位置)通常是平缓过渡的性质。常讨论的连贯性有如下几种:物体连贯性面(边)连贯性扫描线连贯性深度连贯性多面体的消隐算法凸多面体消隐的基本原理是什么凸多面体消隐的算法思想是什么任意多面体的消隐算法是什么多面体的消隐算法凸多面体的特点由多个平面凸多边
5、形组成在投影关系上,体的表面要么完全可见,要么完全不可见各朝前表面不发生相互重叠现象多面体的消隐算法凸多面体消隐的基本原理表面外法线与其可见性的关系设平面Pi上任一点的外法矢ni与该点的视线矢量vi的数量积:(7-1)从而有(7-2)其中θi为ni与vi之间的夹角,i=1,2,…,m,这里m为平面数。多面体的消隐算法当,即时,Pi为朝前面,为可见的,应该画出;当,即时,Pi为朝后面,不可见,不画出或用虚线表示。视线方向与外法线的关系如图7-7。VN平面PθXYZ图7-7视方向与外法线的关多面体的消隐算法视线
6、矢量平行于某一基本坐标轴时夹角的计算当视线矢量vi平行于某一基本坐标轴时,那么平面的外法矢量n{A,B,C}与视线矢量的夹角就是外法矢量n与某一基本坐标轴的夹角,分别用α、β、γ表示视线矢量平行X、Y、Z轴时平面的外法矢量n{A,B,C}与坐标轴的夹角。多面体的消隐算法当视线矢量平行Z轴时,有同理,若视线矢量平行X轴时,某平面的可见性由该平面外法矢量n在X轴的方向分量A所决定。若视线矢量平行y轴时,某平面的可见性由该平面外法矢量n在Y轴的方向分量B所决定。(7-3)多面体的消隐算法平面多边形的外法矢量的计算
7、为了判别物体上各表面是朝前面还是朝后面,需求出各表面(平面多边形)指向物体外侧的法矢量。如图7-8中所示。图7-8物体表面外法矢量多面体的消隐算法在图7-8中,平面P1P2P3的外法矢量任意多边形法矢量的算法方法如下:设法矢量,三个方向分量为:(7-4)式中:m为顶点号,若i≠n,则j=i+1;否则i=m,j=1。多面体的消隐算法为避免在程序中出现两种计算外法矢量的方法,建议凸多边形也采用该算法进行计算。多边形所在的平面方程可写成:(7-5)其中:,为平面上任意一点。多面体的消隐算法算法实现的一般步骤根据表
8、面的数据结构,取顶点数据,计算表面的外法线矢量。计算外法线在投影方向上的分量的值。根据分量的值判断表面的可见性。若表面可见画出该表面,否则处理下一个表面。多面体的消隐算法任意多面体的消隐对于任意平面立体必须寻求适当的消隐算法。因为任意平面立体则不同,除了有全部可见和全部不可见的棱边外,还有部分可见的棱边如图7-9。图7-9任意多面体的隐藏情况深度缓冲器算法算法基本思想是什么?算法是怎样描述的?深度值如何计算?深度
此文档下载收益归作者所有