假设我有一个带孔的矢量多边形。我需要通过绘制连接的段来填充它。当然,由于有洞,我无法用一条连续的折线填充它:我有时需要中断我的路径,然后移动到一个被跳过的区域并在那里开始另一条折线。
我的目标是找到填充整个多边形所需的一组折线。如果我能找到最小集合(也就是说,我可以用最少的中断数填充多边形的方式),那就更好了。
奖金问题:我怎么能为部分密度填充做到这一点?说,我不想以100%的密度填充,但我想要50%(这将需要填充线,假设它们彼此平行并且具有单个单位宽度,放置在两个单位的距离处)。
我在这里找不到类似的问题,尽管有许多与洪水填充算法有关。
任何想法或指示?
更新:来自Wikipedia的这张照片显示了一条良好的低潮泛滥路径。我相信我可以使用位图来做到这一点。但是我有一个矢量多边形。我应该光栅化吗?
答案 0 :(得分:1)
我假设线条之间的距离是1个单位。 粗略的实现,无法保证找到最小折线数,是:
将新段合并到现有折线的最佳算法应该很容易找到(y上的散列),或者强力算法就足够了:
添加了注释(1):为了覆盖多边形具有接近垂直边缘的情况,合并过程不应只查看y-delta,而是允许合并(如果任何两个y范围)重叠(表示折线y-范围重叠段y-范围的结束)。