是否有寻路算法也适合真实的3D环境,例如具有多个楼梯等的真实建筑物。C++库或开放实现将是出色的;-)
我看到的一个解决方案是Djikstra,但我想知道是否还有更理想的解决方案。
正常的A *不会比Djikstra更好,因为距离启发式方法效果不佳(位于目标上方一层)。
我目前正在考虑的另一个解决方案是在2d图形上映射3d环境。因此,如果有一些可用的C++实现/库以这种方式运行,那也将有所帮助。
最佳答案
如果路径必须考虑通过障碍物导航的能力(即运动是某个在空间中具有已知体积的实体的运动),那么我建议您引用有关机器人运动计划的文献。配置空间的概念使您可以处理姿势的变化以应对障碍。参见让·克劳德·拉莫贝(Jean-Claude Latombe)的经典教科书
对于更简单的场景,您可能可以使用第一人称计算机游戏中使用的路径规划算法,该算法类似于Dijkstra,A * (example)