在真实 3D 环境(例如建筑物)中寻路
Pathfinding in real 3D environments (e.g Buildings)
是否有一种路径查找算法也适用于真实的3D环境,例如具有多个楼梯的真实建筑物等。C++库或开放式实现会很棒;-)我看到的一个解决方案是 Djikstra,但我想知道是否有更优化的解决方案。正常的 A* 不会比 Djikstra 工作得更好,因为距离启发式效果不佳(位于目的地上方一层)。我目前正在考虑的另一个解决方案是在 2D 图形上映射 3D 环境。因此,如果有一些可用的C++实现/库以这种方式进行,那也会有所帮助。
如果路径必须考虑到穿越障碍物的能力(即运动是空间中已知体积的某个实体的运动),那么我建议查看有关机器人运动规划的文献。配置空间的概念允许您处理姿势的变化以处理障碍物。参见让-克洛德·拉托姆贝的经典教科书
对于更简单的场景,您可能可以使用第一人称计算机游戏中使用的路径规划算法,这些算法类似于Dijkstra,A*(示例)
对于近似算法,您可以轻松地将 3d 映射到 1d 曲线,并使用格雷码遍历八叉树。这样,您就可以对每个路径重新排序。我不知道是否可以保证在最佳解决方案范围内,但它必须比任何启发式方法更好。
相关文章:
- 数到第n个楼梯的路(顺序无关紧要)
- vscode g++链路故障:体系结构x86_64的未定义符号
- 从结构寻址时,MMAP变量的行为很奇怪
- 字节真的是最小可寻址单元吗
- 具有两个间接寻址运算符 (C++) 的函数参数的用途
- imread() 仍然返回空垫子,尽管在 openCV 4.0.0 中寻址正确
- GLFW DDS 加载函数的 OpenGL 链路错误
- 在具有开放寻址的哈希表中插入节点 [优化逻辑]
- 如何像在 C++ 中处理数组一样对 .txt 文件中的字符进行寻址?
- QBS 为静态链路 MSVC 创建静态库
- 如何在C++中创建类型列表的 n 路笛卡尔积?
- 具有3D障碍物的寻路
- 一种在没有光线投射的情况下在 3D 中使用寻路和多目标的方法
- 为什么我的沿航点寻路的算法不起作用
- 查找相邻节点 星形寻路C++
- A* 寻路速度慢
- 使用递归在C++中寻路
- 网格系统中的寻路
- 在真实 3D 环境(例如建筑物)中寻路
- Qt 2D寻路游戏中的动画