如何从顶点和边缘数据中获取最小多边形?

时间:2016-10-16 07:16:55

标签: algorithm

enter image description here

假设我拥有名为e1, e2, e3, ...的所有顶点,并且每个顶点都有GPS中的coodinate数据

此外,我还拥有(e1, e2), (e2, e3), ...

等所有边缘数据

我需要获得由这些顶点和边数据组成的所有多边形。

。他们应该 NOT 彼此重叠

。它们应该是最小,不能再小一些(通过移除顶点)

1 个答案:

答案 0 :(得分:0)

你的所有边缘都是非交叉的吗?您的问题并不清楚。在这种情况下,如果我正确理解你的问题,你正式想要确定平面图中的区域。

如果是这样,这里有一种可能的方法(我假设图是连接的):对于每个顶点,按顺时针顺序制作相邻顶点的列表。选择一个,选择其中一个端点作为起始顶点。现在,通过跟踪边缘并在顶点以顺时针顺序拾取下一条边来跟踪路径,直到到达起始顶点。那条小路限定了一个地区。对于每个使用过的边缘,记住沿着它行进的方向。只要您有一个尚未在两个方向上使用的边缘,请重复此过程。