|
|
|
|
|
|
|
|
|
|
|
|
第六节
区域分割算法 |
|
|
|
|
|
|
|
|
区域分割算法将投影平面分割成区域,考察区域内的图象。如果容易决定在这个区域内某些多边形是可见的,那么就可以显示那些可见的多边形,完成对这一区域的显示任务。否则,就将区域再分割成小的区域,对小的区域递归地进行判断。由于区域逐渐变小,在每个区域内的多边形逐渐变小,最终总可以判定哪些多边形是可见的。这个算法利用的区域的相关性,这种相关性是指位于适当大小的区域内的所有象素,表示的其实是同一个表面。
在递归分割的每一步,要显示客体中每个多边形的投影多边形与所考察区域之间的关系,必然是下列四种之一:
1.包围的多边形,即多边形全部包含了所考察的区域。 2.相交的多边形,即多边形所考察的区域相交。
3.被包含的多边形,即多边形全部在所考察的区域之内。
4.分离的多边形,即多边形与所考察的区域完全分离。
若区域与多边形为下面的四种情况,不必再做进一步的分割,可直接绘制。 1.所有的多边形与区域分离,所以在区域内只需显示背景值。
2. 只有一个相交的多边形,或者只有一个被包含的多边形。这时可以对区域首先填充背景值,然后对多边形进行扫描转换。在某些显示设备上,将整个帧缓冲存储器都初始化为背景值,可能更为方便。对于相交的多边形,只是被包含的部分被扫描转换。
3.只有一个包围的多边形,无其它的多边形。整个区域填充该多边形的象素值。
|
|
|
|
|