Algorithm 使*寻路算法适应具有许多不同部分的超大地图

Algorithm 使*寻路算法适应具有许多不同部分的超大地图,algorithm,dictionary,optimization,path-finding,Algorithm,Dictionary,Optimization,Path Finding,我查看了HPA*。问题是,我的地图的大部分要么是空的,要么是非常稀疏的障碍物,有些部分是非常密集的障碍物 我也不喜欢单元必须穿过集群之间的过渡点,因为这看起来非常不现实。这对非常密集的区域没有多大影响,但对于开放的区域,它们应该沿着直线走向目标 现在,100个单元可以使用*在5毫秒内穿过一个空的100x100网格。但是,我的地图可能是10000 x 10000 更具体地说: 我正在寻找一种使用HPA*的方法,但只能在密集区域使用。在障碍物稀少的区域,只需沿直线行走(并绕过障碍物)。我还希望该单元

我查看了HPA*。问题是,我的地图的大部分要么是空的,要么是非常稀疏的障碍物,有些部分是非常密集的障碍物

我也不喜欢单元必须穿过集群之间的过渡点,因为这看起来非常不现实。这对非常密集的区域没有多大影响,但对于开放的区域,它们应该沿着直线走向目标

现在,100个单元可以使用*在5毫秒内穿过一个空的100x100网格。但是,我的地图可能是10000 x 10000

更具体地说:

我正在寻找一种使用HPA*的方法,但只能在密集区域使用。在障碍物稀少的区域,只需沿直线行走(并绕过障碍物)。我还希望该单元能够从稀疏区域到密集区域进行路径查找,如果需要单独的算法,则反之亦然


谢谢

我会尝试修改HPA*,这样,机组就不会通过当前集群周围的航路点找到路径,而是通过以当前集群为中心的9x9集群子网格边缘周围的航路点找到路径


当机组移动时,9x9子网格将在机组到达边缘附近的一个航路点之前移动。然后,它将使用距离较远的新航路点找到一条路径,并且实际上不必穿过一个航路点。

我将尝试修改HPA*以便,而不是通过当前集群周围的航路点找到一条路径,该装置将在以当前集群为中心的9x9集群子网格边缘周围找到一条通过航路点的路径

当机组移动时,9x9子网格将在机组到达边缘附近的一个航路点之前移动。然后,它将使用较远的新航路点找到一条路径,并且实际上不必穿过一个航路点