一、基本扫描线填充算法基础知识
(1)假定多边形的顶点已知
(2)基本思想:按扫描线从下到上扫描,一条一条确定区域内的像素
(3)步骤:
①求交。计算扫描线与多边形各边的交点。
②排序。把所有交点按x值的递增顺序排序。x1、x2、x3、x4、x5、x6……
③配对。[x1, x2],[ x3, x4] , [x5, x6]……每对交点代表扫描线与多边形的一个相交区间。
④填色。把相交区间内的像素置成多边形的颜色,把相交区间外的像素置成背景色。
(4)虽然以上步骤思想简单,但存在诸多问题。
问题①交点刚好是多边形的顶点。
问题②大量的求交运算。
问题③无用的求交运算
问题④交点排序
二、解决问题
(1)解决问题一。交点是顶点。极大值计数0次是为了防止区域扩大。
(2)解决问题二。大量求交运算。采用增量法。
当前扫描线合某边交点x坐标与下一条扫描线和这条边交点x坐标的关系。