将重叠的圆组合成多边形的最佳方法是什么?将圆加入多边形的算法
我给出了一个具有固定直径的圆的中心点列表。
我需要加入任何重叠的圆圈一起和输出点的列表中所产生的多边形。
这似乎是一个相当普遍的问题(GIS系统,矢量等)。这可以通过Google Maps API完成,但我正在寻找实际的算法。
但是,点的顺序是这个解决方案的问题。每个圆都将其点存储在一个数组中。将它们与2个重叠圆圈正确合并是相对直接的。但是,当处理多个重叠的圆时,它变得复杂。
希望你有一些想法,使这个解决方案的工作或其他算法,将达到预期的结果。
在此先感谢!
在你的例子中,所有五个圆应该合并为_one_多边形还是_three_多边形? –
可能不是很快,但是这样如何:从一组合并圆的任意一点开始,找到下一个最近点,加入它们,然后重复,直到合并的圆的所有点都加入为止? (但这可能会失败,但是在两个圆几乎不重叠的情况下,它们会形成两个锐角;在这种情况下,拐角处的点将被跳过。) –
@tobias_k在此示例中,输出为3个多边形。 – aaronfarr