第六章消隐处理.ppt
文本预览下载声明
第6章 消 隐 消隐的概述 多面体的消隐算法 深度缓冲器算法 扫描线算法 画家算法 光线追踪算法(Ray Casting) 消隐的概述 绘制线框图时应消除隐藏线,绘制真实感图形时应消除隐藏面。 未经消除隐藏线和隐藏面的立体图往往存在二义性,如图所示。 消隐的概述 这种消除隐藏线或隐藏面的过程称为消隐处理,简称消隐。 经过消隐得到的图形称为消隐图。 消隐的概述 消隐不仅与消隐对象有关,还与观察者的位置有关。如图所示,由于视点的位置不同,物体的可见部分也不同: 消隐的概述 按消隐的对象分类 线消隐(Hidden-line) 面消隐(Hidden-surface) 按消隐空间分类 物体空间消隐算法 图像空间消隐算法 消隐的概述 线消隐(Hidden-line) 消隐对象是物体上不可见的线,一般用于线框图。当用笔式绘图仪或其它画线设备绘制图形时,主要使用这种算法。 面消隐(Hidden-surface) 消隐对象是物体上不可见的面,一般用于填色图。当用光栅扫描显示器绘制图形时,主要使用这种算法。 消隐的概述 物体空间消隐算法 物体空间是需要消隐的物体所在的三维空间。 算法描述如下: for(场景中的每一个物体) { 将该物体与场景中的其它物体进行比较,确定其表面的可见部分; 显示该物体表面的可见部分; } 消隐的概述 图像空间消隐算法 图像空间是物体显示时所在的屏幕坐标空间。 算法描述如下: for(窗口中的每一个像素) { 确定距视点最近的物体,以该物体表面的 颜色来显示像素; } 消隐的概述 消隐基本原则 排序 排序的目的主要是判别消隐对象的体、面、边和点与观察点几何距离的远近。如果一个物体离观察点越远,越有可能被离观察点近的物体所遮挡,如图6-4所示。但这不是绝对的,例如,不在同一观察线方向的两个物体不会有遮挡关系,如图6-5所示。 消隐的概述 连贯性 连贯性是指从一个事物到另一个事物,其属性值(如颜色值、空间位置)通常是平缓过渡的性质。 常讨论的连贯性有如下几种: 物体连贯性 面(边)连贯性 扫描线连贯性 深度连贯性 消隐的概述 多面体的消隐算法 凸多面体消隐的基本原理 凸多面体消隐的算法思想 任意多面体的消隐算法 多面体的消隐算法 凸多面体的特点 由多个平面凸多边形组成 在投影关系上,体的表面要么完全可见,要么完全不可见 各朝前表面不发生相互重叠现象 背面剔除算法 背面剔除算法 多面体的消隐算法 凸多面体消隐的基本原理 表面外法线与其可见性的关系 设平面Pi上任一点的外法矢量ni与该点的视线矢量vi的数量积: 从而有 其中θi为ni与vi之间的夹角,i=1,2,…,m,这里m为平面数。 多面体的消隐算法 当 ,即 时,Pi为朝前面,为可见的,应该画出; 当 ,即 时,Pi为朝后面,不可见,不画出或用虚线表示。 视线方向与外法线的关系如图6-6。 多面体的消隐算法 视线矢量平行于某一基本坐标轴时夹角的计算 当视线矢量vi平行于某一基本坐标轴时,那么平面的外法矢量n{A,B,C}与视线矢量的夹角就是外法矢量n与某一基本坐标轴的夹角,分别用α、β、γ表示视线矢量平行X、Y、Z 轴时平面的外法矢量 n{A,B,C}与坐标轴的夹角。 多面体的消隐算法 当视线矢量平行Z 轴时,有 同理,若视线矢量平行X轴时,某平面的可见性由该平面外法矢量n在X轴的方向分量A所决定。 若视线矢量平行y轴时,某平面的可见性由该平面外法矢量n在Y轴的方向分量B所决定。 多面体的消隐算法 平面多边形的外法矢量的计算 为了判别物体上各表面是朝前面还是朝后面,需求出各表面(平面多边形)指向物体外侧的法矢量。如图所示 。 多面体的消隐算法 在图6-8中,平面P1P2P3的外法矢量 任意多边形法矢量的算法方法如下: 设法矢量 ,三个方向分量为:
显示全部