多边形点填充算法

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

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

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

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

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

效果图如下:

image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容