开发者社区> 问答> 正文

当两点之间有视线时,如何计算父节点和邻节点之间的距离?

当两点之间有视线时,如何计算父节点和邻节点之间的距离?

展开
收起
游客6qcs5bpxssri2 2019-09-17 22:42:00 1462 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    在Theta *中,当相邻节点看到父节点时,您应该尝试将该相邻节点直接连接到当前节点的父节点。这是导致任意角度,非网格对齐路径的过程。 节点与任意父节点(不一定是网格中的邻居)的这种关联实际上从解决方案中丢失(因此在完成搜索时将不能正确地重构路径)。这涉及到问题中代码的一些变化: 路径重建应该以不同的方式实现,包含八个移动方向之一的“动作”数组是不够的。一种可行的替代方案是它包含父节点的(x,y)坐标,即action [x] [y] =(parent_x,parent_y)。 在内部代码中,if sight == True您应该计算邻居的g-score作为使用从父对象到邻居的直线的路径。此时,g分数的计算考虑了当前节点,这不是必需的。

    2019-09-17 22:42:21
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
重新定义计算的边界 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载