大型网友和导航软件核心技术之启发式寻路

达到效果,动态规划路线到达终点。

思路:

    在自己周围选择能走的路(一般地图是六边形或者正方形模型组成)

    选择一个距离重点最近的一条路(直线距离)

    

如果左上角到右下角,计算太多了,因为有根号下的计算,需要调用api(有关浮点数的计算太麻烦)。

利用曼哈顿距离,最短的直线是组成的两条边相加最短的直线。



从绿点走到红点,蓝色是阻隔,白色代表可以走。g是实际距离,h是按照曼哈顿距离来计算的

第一步选择右边


第二部选择 注意g是已经走过的路  注意下面的g是从14开始。

黄色区域选择标准,是从起点开始找周边f最小的,标记为黄色有字区域


        黄色部分找周边可以走的白色区块中最小的确认为黄色区域,


从终点开始找


关键代码 PriorityQueue<>();自动排序队列,按照<>类中的compare方法来进行排列。




猜你喜欢

转载自blog.csdn.net/qq_34729723/article/details/80761512
今日推荐