Algo找到在2D空间中分离两组点的多边形

时间:2013-01-06 09:15:33

标签: algorithm 2d polygon

我在2D空间中有一组点。这些点有两种不同的类型(比如几个点是黑色,而其余是白色)。我需要找到一种算法来找到分隔两个点子集的多边形。多边形的顶点可以是两种类型的点中的任何一种。

我试过谷歌搜索但找不到合适的算法。是否有任何算法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

你的问题不是很清楚,但我认为你只是要求存在。考虑以下算法:

  1. 选择一种特定的颜色,比如黑色
  2. 使用直线将此顶点连接到所有其他具有黑色的顶点。可能,路径上应该没有白色顶点。
  3. 如果任何白色顶点正好在直线上,则无限制地绕行。
  4. 在由黑色节点组成的“星”网络周围绘制一个多边形。
  5. 只要您将多边形绘制得非常接近“星形”网络,就可以始终完成最后一步,因此您现在可以获得在2D中将黑色与白色点分开的多边形