我在地图上有点和连接这些点的线。
如何获得所有独立的内部多边形?
链接图片描述了问题。
http://i.imgur.com/0LdA3ji.jpg
我想我需要一个树搜索算法来枚举树结构中的所有点和连接线,然后搜索周期,但这项工作有点过头了。
在一个完美的世界中,例子将在C#中。)
我找到了:
Finding all cycles in undirected graphs
但它没有标记独立的多边形。它找到所有可能的多边形甚至重叠的多边形。
我正在使用谷歌地图。用例是:我检测地图上的点击并绘制点。我检测点击点,然后获得点之间的线。现在我需要从线和点自动生成多边形。当然我可以绘制多边形。我只是不知道哪些(坐标是什么 - 或者更确切地说:为多边形选择什么点)
答案 0 :(得分:1)
我实际上没有图形经验以及如何在找到多边形后对其进行实际着色,但假设:
然后着色伪代码可能是这样的:
while listOfPolygons is not empty
temp <- find smallest polygon in listOfPolygons
colour temp
remove from listOfPolygons all polygons containing temp
remove temp from listOfPolygons
请注意,有关查找包含多边形的部分可能很棘手。
编辑:
检查多边形A是否在多边形B中可以通过检查A的任何角(顶点?)是否位于B内来完成。