欢迎来到天天文库
浏览记录
ID:50211057
大小:111.00 KB
页数:25页
时间:2020-03-10
《计算机图形处理及其在工程中的应用 教学课件 作者 杨培中 赵新明蒋丹 第5章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机图形处理及其在工程中的应用第五章消隐技术与真实感图形15.1消除隐藏线5.2消除隐藏面5.3光照模型5.4明暗效应5.5颜色模型5.6纹理5.7工程应用——真实感图形第五章消隐技术与真实感图形内容5.1消除隐藏线在许多计算机图形系统中,通常用多面体来表示三维物体。由于投影变换失去了深度信息,这可能导致图形理解的二义性。第五章消隐技术与真实感图形5.1消除隐藏线消隐算法线消隐(Hidden-lineremoval):用于线框图,消隐对象是物体上的边,消除的是物体上被遮挡的边。面消隐(Hidden-surfaceremoval):用于填色图,消隐对象是物体
2、上的面,消除的是物体上被遮挡的面。第五章消隐技术与真实感图形5.1消除隐藏线凸多面体的隐藏线消除平面方程为aix+biy+ciz+di=0(i=1,2,…,n)平面法向量(ai,bi,ci)是指向物体外部的视点与第i个面上一点连线方向为(li,mi,ni)。那么,当点积(ai,bi,ci)·(li,mi,ni)>0时,平面i为自隐藏面。第五章消隐技术与真实感图形5.1消除隐藏线凸多面体的隐藏线消除对于任意一个凸多面体,我们可以先求出所有隐藏面,给它们打上标记,然后检索每一条边。若交于某一条边的两个面均为自隐藏面,则该边为自隐藏边,在绘制时可予以消除或用虚线输出
3、,否则此边未被隐藏,应当用实线输出。第五章消隐技术与真实感图形5.1消除隐藏线凹多面体的隐藏线消除凹多面体的消隐比凸多面体的要复杂得多。对于隐藏线消除问题,总是假定它们是用线框图方式表示的。在这种方式下,多面体用棱来表示,多面体的隐藏线消除问题就是要消除被完全遮挡或部分遮挡的棱。因此,多面体的隐藏线消除问题就转化成为直线(棱)与多边形的遮挡判断问题。第五章消隐技术与真实感图形5.1消除隐藏线凹多面体的隐藏线消除平面多边形对直线段的遮挡判断算法(1)若线段的两端点与视点在给定平面的同一侧,则线段位于给定平面的前面,是可见的,转(9)。(2)求线段与相应的无限平面
4、的交。若无交点,转(4);否则,转(3)。(3)交点将该线段分成两段,与视点同侧的一段是可见的,它没有被遮挡;另一段的可见性还不能确定,转(4),继续测试。(4)若线段的投影与给定平面的投影的包围盒不相交,则线段可见,它不被该平面遮挡,转(9)。(5)求所剩线段的投影与平面边界投影的所有交点。(6)将线段的投影在交点处依次分成若干段,根据交点在原直线参数方程中的参数值的大小对线段进行排序。(7)求出第一投影线段的中点,若第一段的中点在多边形的投影内,则相应的线段被遮挡,否则不被遮挡。(8)其它各段的遮挡关系可依次按"遮挡/可见"交替地取值,如图4所示。例如:如
5、果第一段被遮挡,则后面线段的可见性依次为"可见,遮挡,可见,…";若第一段可见,则后面的线段依次为"遮挡,可见,遮挡,…"。(9)结束。第五章消隐技术与真实感图形5.2消除隐藏面深度排序算法(画家算法)深度排序算法是受画家由远至近作画的启发,按多边形离观察者的距离进行排序,根据距离的的远近建立一张优先级表,距离观察者近的优先级高,远的优先级低。正确地建立该表后,只要从优先级低的多边形开始,依次绘制相应的多边形,直到绘制出优先级最高的多边形为止,就生成了整个场景的绘制结果。画家算法是1972年M.E.Newell提出的。第五章消隐技术与真实感图形5.2消除隐藏面
6、区域排序算法区域排序算法的基本思想是:在图象空间中,将待显示的所有多边形按深度值从小到大排序,用前面可见多边形去切割后面的多边形,最终使得每个多边形要么是完全可见,要么是完全不可见。用区域排序算法消隐,需要用到一个多边形裁剪算法,这种裁剪算法不仅能处理凸多边形,而且可以处理凹多边形,以及内部有空洞的多边形。第五章消隐技术与真实感图形5.2消除隐藏面深度缓存(Z-buffer)算法这是一种在图象空间下的消隐算法,原理简单,也很容易实现,是1975年由Catmull提出的。基本思想是:将投影到显示屏上的每一个象素所对应的多边形表面的深度进行比较,取最靠近视点的表面
7、的属性值作为该像素的属性值。这一算法需要二个数组:一是深度缓存数组ZB,也就是所谓Z-buffer,算法的名称就是从这里来的;另一个是颜色属性数组CB(color-buffer),这两个数组的大小和屏幕的分辨率有关,等于横向象素数m和纵向象素数n的乘积,用Z-buffer记录该表面在该像素点的深度,用color-buffer记录该表面在该像素点的颜色或亮度值。第五章消隐技术与真实感图形5.2消除隐藏面扫描线算法在多边形填充算法中,活性边表的使用获得了节省运行空间的效果。用这种思想改造Z-buffer算法,就产生了扫描线算法。第五章消隐技术与真实感图形5.3光照
8、模型环境光环境光是光线在物体和周围环境
此文档下载收益归作者所有