首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
A*寻路入门
时间:
2015-06-22 23:28:15
阅读:
189
评论:
0
收藏:
0
[点我收藏+]
标签:
基本概念
a*实现算法很多,下文仅以启发式算法为例
公式 F = G + H ,h为当前点至目标点消耗(距离),g为起始点至当前点的消耗(
距离
) , F为代价
主要做两件事
一.生成导航图
二.计算代价,寻找最少代价的路径
1.生成导航图
a.根据地图的宽度高度决定不同网格尺寸与网格密度
b.检测地图中需要碰撞的物体
2.导航图(图中白点)已生成
a.下面是计算并寻找最小代价路径
定义
开启集合
定义
关闭集合
定义
当前点
将起始点添加到
开始集合
中
While(
开始集合
包含至少一个node){
当前点
=
开启集合
中最小的F值的点
当前点
点移除
开启集合
中
当前点
点加入
关闭集合
中
如果
当前点
是目标点
结束查询
遍历
当前点
的每个相邻点
如果相邻点不能访问或则相邻点在
关闭集合
中,则跳过此相邻点
如果新的路径到相邻点的距离更短(H),或者相邻点不在
开启集合
中
重设
F值
重设其父节点为
当前点
如果相邻点不在
开启集合
中
添加相邻点到
开启集合中
}
b.得到关闭集合,与
当前点
,此时当前点等于目标点,通过回溯当前点可以得到下图,黑色为最终路径,黄色区域为探索过的区域
A*寻路入门
标签:
原文地址:http://www.cnblogs.com/Keyle/p/4594192.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!