Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 连通凸多边形图的生成_Algorithm_Graph Theory_Path Finding_Convex Polygon - Fatal编程技术网

Algorithm 连通凸多边形图的生成

Algorithm 连通凸多边形图的生成,algorithm,graph-theory,path-finding,convex-polygon,Algorithm,Graph Theory,Path Finding,Convex Polygon,我试着用一个密集的点图,比如,把它变成一个连通的凸多边形图。保持连接时,多边形应尽可能大且简单。结果图将用于路径查找。有人能给我指出正确的方向吗?这不是你想要的,但这里有一些其他的解决二维路径规划问题的方法: 使用*。这将产生最短的无碰撞路径。即使不简化位图,性能也可以 使用一个。这是多边形以外的另一种离散化表示。由于搜索空间很小,您可以遍历整个位图,以验证每个点都可以连接到路线图。如果紧凑的路线图很重要(但短路径不重要),则可以使用该技术 由于您必须处理图形表示和图形搜索,因此这些技术似乎

我试着用一个密集的点图,比如,把它变成一个连通的凸多边形图。保持连接时,多边形应尽可能大且简单。结果图将用于路径查找。有人能给我指出正确的方向吗?

这不是你想要的,但这里有一些其他的解决二维路径规划问题的方法:

  • 使用*。这将产生最短的无碰撞路径。即使不简化位图,性能也可以

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

由于您必须处理图形表示和图形搜索,因此这些技术似乎比多边形提取容易得多。我找到了一些关于这个问题的问题:

当空间已由多边形映射(可能使用工具)时,可以将其拆分为凸多边形或可搜索的其他表示形式。LaValle也讨论了这一点:


这不是您所要求的,但以下是一些解决此2D路径规划问题的其他想法:

  • 使用*。这将产生最短的无碰撞路径。即使不简化位图,性能也可以

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

由于您必须处理图形表示和图形搜索,因此这些技术似乎比多边形提取容易得多。我找到了一些关于这个问题的问题:

当空间已由多边形映射(可能使用工具)时,可以将其拆分为凸多边形或可搜索的其他表示形式。LaValle也讨论了这一点:


我不能发布链接,这很烦人。让你很难成为一个潜伏者&只是偶尔的参与者

我最终使用了以下技术:

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


分水岭分区还不是完美的,请注意引起混淆的条带,但对于这张128x128地图,我最终得到了181个区域和281个航路点。

我无法发布链接,这非常恼人。让你很难成为一个潜伏者&只是偶尔的参与者

我最终使用了以下技术:

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


分水岭分区还不是完美的,请注意引起混淆的条带,但对于这张128x128地图,我最终得到了181个区域和281个航路点。

我无法想象以前没有人问过这一点。请先搜索,这可能会给你一些想法。或者你可以通过解释为什么找到的解决方案不符合你的要求来更好地表述你的问题。看起来像星际地图…它正是星际地图。这是他们导航网格的自顶向下视图,设置为用作二维碰撞贴图。我可以通过使用势场来避免局部冲突,但我需要一个真正的寻路解决方案来避免局部最优。本质上,我需要凸多边形,这样我就可以使用共享边的中点进行路径查找。三角形也可以,但会产生更多的点。我无法想象以前没有人问过这个问题。请先搜索,这可能会给你一些想法。或者你可以通过解释为什么找到的解决方案不符合你的要求来更好地表述你的问题。看起来像星际地图…它正是星际地图。这是他们导航网格的自顶向下视图,设置为用作二维碰撞贴图。我可以通过使用势场来避免局部冲突,但我需要一个真正的寻路解决方案来避免局部最优。本质上,我需要凸多边形,这样我就可以使用共享边的中点进行路径查找。三角形也可以,但会产生更多的点。