进入/退出导航图 – 寻路

我有一个在3D环境中手动创建的导航图。 我理解(并且之前已经实现过)一个A*寻路算法,可以在“进入导航图”后,找到通过图的路径。

我现在感兴趣的是,找到进入和“离开”图的最佳方式。

例如:
流程大致如下:
从起点向终点发射一条射线,如果没有障碍物,就直接走过去。

如果存在障碍物,我们就需要使用导航图。为了“进入导航图”,我们需要找到图上离起点最近的可视节点。(为了做到这一点,我之前是根据节点与起点的距离对导航图进行排序,然后从最近的节点开始,依次发射射线,直到找到一个没有障碍物的节点。)

然后运行标准的A*算法…

然后通过与进入导航图相同的方法“退出”导航图(用于计算上述A*算法的终点),所以我从终点向最近的导航图节点发射射线。

因此,当一切结束后,除非我的导航图非常密集,否则我花费在进入/退出导航图上的时间,比计算路径的时间还要多…

肯定有更好/更快的方法吧?(是否有某种空间划分技巧?)


回答:

你可以构建一个包含所有节点的 四叉树,以快速找到给定位置最近的节点。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注