生成连通凸多边形的图

时间:2011-01-20 21:29:36

标签: algorithm graph-theory path-finding convex-polygon

我正在尝试使用this等密集的点图,并将其转换为连接凸多边形的图形。在保持连接的同时,多边形应尽可能大且尽可能简单。结果图将用于寻路。有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:1)

我无法发布链接,这非常烦人。难以成为潜伏者和潜伏者只是偶尔的参与者。

我最终使用了以下技术:

首先,创建一个距离变换。我使用了这里描述的算法[无法链接],导致像这样的图像[无法链接]。然后,创建DT的分水岭变换以将其划分为区域。这需要一些工作,但目前看起来像这样[无法链接]然后,使用连接每对区域的折线的中点,来创建一个航点图。

Result

分水岭划分还不完美,请注意造成条带的混叠,但最终我得到了181个区域和281个航点,这个128x128地图。

答案 1 :(得分:0)

这不是你要求的,但是这里有一些解决这个2D路径规划问题的其他想法:

  • 使用A *。这产生了最短的无碰撞路径。即使没有简化位图,性能也可能没问题。

  • 使用sampling-based roadmap。这是另一种离散化的表示而不是多边形。由于您的搜索空间很小,您可以遍历整个位图以验证每个点都可以连接到路线图。如果 compact 路线图很重要(但不是短路径),则可以使用visibility roadmap技术。

因为无论如何你必须处理图形表示和图形搜索,这些技术似乎比多边形提取更容易。我为这个问题挖出了一些问题:

当多边形(可能使用工具)绘制空间时,可以将其拆分为凸多边形或其他可以搜索的表示。 LaValle也讨论了这个问题: