多边形点填充算法

算是一个很小的小算法,一般的话,可以考虑对当前多边形的 box(长方形)初步计算其填充点(保存在一个 List 当中),这个会比较简单。然后再从上面的点集中选择出在多边形内部的点(即通过判断点在多边形内外的算法得到),于是可以得到最终的结果了。

不过前面已经实现了多边形的平行线填充算法,利用这个算法会更加简单些

List> HatchParallel(Point origin, float angle, float spacing)
  1. 根据 HatchParallel(origin, angle, spacing) 获得平行线集

  2. 根据 HatchParallel(origin, angle+PI/2, spacing); 获得旋转 90° 的平行线集

  3. 将两个平行线集进行求交计算就能得到全部的内部点了

效果图如下:

多边形点填充算法_第1张图片
image

你可能感兴趣的:(多边形点填充算法)