在光栅显示器上选定一系列的点,将点按顺序连接起来形成一个封闭的多边形,并对多边形内的像素点进行颜色填充。本文主要介绍X扫描线算法以实现多边形内目标像素点的确定。
一.X扫描线算法
首先确定该多边形的和,通过y变量以为起点,以为终点,每次步长为1,与多边形相交求得交点,在交点的区间内所得的整数即为所求像素点。例如下图,,扫描线y=4与多边形交于P1、P2、P3、P4点,4个交点的x坐标分别为3.20、5.33、6.50、9.20,因此所求的目标像素点分别为P1和P2区间[4,4]、[5,4],P3和P4区间[7,4]、[8,4]、[9,4]。这边有一个问题如何排除P2和P3区间,只需要保证每次扫描线与多边形的交点个数为偶数个,按交点顺序两两为一组即可。