- 21 -
(5)利用求出的交集,画出每条潜在可见棱边对所有潜在可见面都是可见的区段。 ? 16、Z缓冲器算法中有两个缓冲器:深度缓冲器和帧缓冲器。它们分别存放的是什么?算法策略是什么?
(1)深度缓冲器里存放着图像空间每个可见像素的z坐标。 帧缓冲器里存放着图像空间每个可见像素的属性(光强或颜色)值。 (2)算法策略是: ①初始时:
深度缓冲器所有单元均置为最小z值; 帧缓冲器各单元均置为背景色。 ②处理:
对多边形的各面片进行逐个处理。
在对某面片逐行逐列处理中,计算各像素点(x,y)所对应的深度值z(x,y),并将结果与深度缓冲器中该像素单元所存储的深度值depth(x,y)进行比较:
若(z>depth(x,y)) //若该点离观察者近
{ depth(x,y)=z; //用该点的深度值改写深度缓冲器
Intensity(x,y)= I(x,y);//用该点所在面片的颜色改写帧缓冲器 }
③结果:
最后深度缓冲器里存放着离观察者最近的面片上的z值。 帧缓冲器里存放着离观察者最近的面片上的属性值(颜色)。
17、扫描线消隐算法与多边形区域填充里介绍过的边相关扫描线填充算法有什么异同? (1)相同的是都以链表的数据结构支持处理。
(2)不同的是扫描线消隐算法中,除了ET、AET表外,还多了一个PT表。
另外ET、AET表的结点中多了几项,以便对平面方程、深度和进出多边形的状态进行登记。 ? 18、为什么叫画家算法?
因为它模拟画家作画的过程,先画远景,最后画近景,由远到近地处理画面上的相互遮挡关系。
??19、在算法的具体实现中,它是如何处理物体的远近关系?
将画面中的物体按其距离观察点的远近进行排序,结果存放在一张线形表中。距观察点远者称其优先级高,放在表头,距观察点近者称其优先级低,放在表尾,这张表称为深度优先级表。 然后按照从表头到表尾的顺序逐个绘制物体。由于距观察者近的物体在表尾最后画出,它覆盖了远处的物体,最终在屏幕上产生了正确的遮挡关系。