第四章第四章有效边表填充算法有效边表填充算法边缘填充算法边缘填充算法四邻接点种子填充算法四邻接点种子填充算法八邻接点种子填充算法八邻接点种子填充算法扫描线种子填充算法扫描线种子填充算法本章学习目标本章学习目标4
1多边形的扫描转换4
2有效边表填充算法4
3边缘填充算法4
4区域填充算法4
5本章小结习题4本章内容本章内容4
1多边形的扫描转换多边形的扫描转换本章将以直线段连接而成的示例多边形为例讲解多边形的填充算法,同时给出图形边界像素的处理原则
多边形内部可以使用平面着色模式或光滑着色模式填充
无论使用哪种着色模式,都意味着要使用指定颜色为多边形边界内的每一个像素着色
多边形是由折线段组成的封闭图形
它由有序顶点的点集Pi(i=0,…,n-1)及有向边的线集Ei(i=0,…,n-1)定义,n为多边形的顶点数或边数,且Ei=PiPi+1,i=0,…,n-1
这里Pn=P0,保证了多边形的闭合
多边形可以分为凸、凹多边形以及环
1多边形的定义多边形的定义P0P1P2P3P4P5E0E1E2E3E4E5顺时针逆时针图4-4多边形的定义用多边形的顶点序列来描述
特点是直观、占内存少,易于进行几何变换,但由于没有明确指出哪些像素在多边形内,所以不能直接进行填充,需要对多边形进行扫描转换后才能逐条扫描线填充
⑴顶点表示法⑵点阵表示法多边形的点阵表示法是用位于多边形内的像素点集来描述,这种表示方法虽然失去了许多重要的集合信息,如顶点、边界等,但便于运用帧缓冲来表示图形,方便直接读取像素来更改多边形的填充色
2多边形的表示多边形的表示⑶多边形的扫描转换将多边形的描述从顶点表示法变换到点阵表示法的过程,称为多边形的扫描转换
即从多边形的顶点信息出发,求出位于多边形内部的各个像素点信息,并将其颜色值写入帧缓冲的相应单元中