是否有一种寻路算法也适用于真实的 3D 环境,例如具有多个楼梯等的真实建筑物。C++ 库或开放式实现会很棒 ;-) 我看到的一种解决方案是 Djikstra,但我想知道是否有更优化的解决方案。 普通 A* 不会比 Djikstra 更好,因为距离启发式算法效果不佳(位于目的地上方一层)。 我目前正在考虑的另一个解决方案是将 3d 环境映射到 2d 图上。因此,如果有一些可用的 C++ 实现/库以这种方式进行,它也会有所帮助。
最佳答案
如果路径必须考虑穿越障碍物的能力(即运动是空间中已知体积的某个实体的运动),那么我建议查看有关机器人运动规划的文献。配置空间的概念允许您处理姿势变化以应对障碍。看 Jean-Claude Latombe 的经典教科书
对于更简单的场景,您可以使用第一人称电脑游戏中使用的路径规划算法,类似于 Dijkstra,A* (example)
关于c++ - 在真实 3D 环境(例如建筑物)中寻路,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10177424/