Algorithm 连续贴图(例如多边形)的寻路算法

Algorithm 连续贴图(例如多边形)的寻路算法,algorithm,computational-geometry,shortest-path,path-finding,motion-planning,Algorithm,Computational Geometry,Shortest Path,Path Finding,Motion Planning,我试图研究平面上有多边形障碍物的两点之间的短路径的不同算法。我发现的绝大多数算法都使用离散映射(栅格映射、可见性图、Voronoi路线图等)。一些书(如Ben Ari的《机器人原理》或Nikolaus Correll的《自主机器人简介》)提到了连续地图(例如原始多边形数据),但没有解释相应的算法。他们声称,对于一些简单的障碍,记忆或效率都有优势,这对我来说可能非常有趣 我相信,应该有一种聪明的方法,使用几何计算(例如交叉点检测)和一些算法范例(例如最小成本分支和边界),但我不想拙劣地重新发明轮子

我试图研究平面上有多边形障碍物的两点之间的短路径的不同算法。我发现的绝大多数算法都使用离散映射(栅格映射、可见性图、Voronoi路线图等)。一些书(如Ben Ari的《机器人原理》或Nikolaus Correll的《自主机器人简介》)提到了连续地图(例如原始多边形数据),但没有解释相应的算法。他们声称,对于一些简单的障碍,记忆或效率都有优势,这对我来说可能非常有趣

我相信,应该有一种聪明的方法,使用几何计算(例如交叉点检测)和一些算法范例(例如最小成本分支和边界),但我不想拙劣地重新发明轮子

对于一些使用连续映射或有用关键字搜索的短(est)路径算法,是否有任何资源


正如我建议的那样,我尝试指定我使用的一些术语:

连续映射(请参阅)指几何形状(连续)实数值的存储。障碍物/三角形I.将存储为:A=(3,2),B=(7,5),C=(7,2)

离散映射(请参阅)指将子划分为块(离散化,如网格映射)。障碍物/三角形I.现在将存储为单元索引:(3,2)、(4,2)、(5,2)、(6,2)、(5,3)、(6,3)、(6,4) 离散地图中的路径查找通常由基于图的算法(如Dijkstra或A*)完成

几何计算只是一个模糊的术语,我用于计算几何的操作,我希望在连续地图的寻路算法中使用。(例如平移、垂直距离、交点检测)

对于您所称的“连续贴图”,只需在所有顶点上使用Dijkstra即可。 唯一的区别是,在计算节点之间的距离时,必须检查剪裁。

对于您所称的“连续贴图”,只需在所有顶点上使用Dijkstra即可。
唯一的区别是,在计算节点之间的距离时,必须检查剪裁。

另一个更常用的术语似乎是欧几里德最短路径。对我来说,连续映射和离散映射算法之间的区别似乎有点模糊

然而,我发现最接近连续映射算法的是连续Dijkstra问题的米切尔算法(或连续Dijkstra方法)。 该算法使用从起点均匀分布的小波。通过小波的“衍射”,它们到达了无法直接到达的区域。这将创建一个最短路径映射,该映射可用于识别到连续配置空间中任何点的欧几里德最短路径

有关更多信息,请参阅:

  • F.li和R.Klette的“欧几里德最短路径精确或近似算法”
有人可能会说,创建的最短路径映射只是连续配置空间的另一个离散化。然而,如果将算法应用于整个配置空间,我猜最短路径映射只是可以得到的结果。如果只需要两点之间的最短路径,算法可以在到达目标点后停止。
我仍然不确定这些算法的分类,但这应该能回答我的问题。

我的问题的另一个更常用的术语似乎是欧几里德最短路径。对我来说,连续映射和离散映射算法之间的区别似乎有点模糊

然而,我发现最接近连续映射算法的是连续Dijkstra问题的米切尔算法(或连续Dijkstra方法)。 该算法使用从起点均匀分布的小波。通过小波的“衍射”,它们到达了无法直接到达的区域。这将创建一个最短路径映射,该映射可用于识别到连续配置空间中任何点的欧几里德最短路径

有关更多信息,请参阅:

  • F.li和R.Klette的“欧几里德最短路径精确或近似算法”
有人可能会说,创建的最短路径映射只是连续配置空间的另一个离散化。然而,如果将算法应用于整个配置空间,我猜最短路径映射只是可以得到的结果。如果只需要两点之间的最短路径,算法可以在到达目标点后停止。
我仍然不确定这些算法的分类,但这应该能回答我的问题。

你能解释一下“离散映射”与“连续映射”与“几何计算”的含义吗?你能解释一下“离散映射”与“连续映射”与“几何计算”的含义吗?我猜这将是一个类似于可见性图(离散图)的东西。我猜这将是一个类似于可见性图(离散图)的东西。