A*算法(五):在三维地图的可行性

上一篇文章在原有的A*算法上增加了权值,解决了混合型地图的最短时间循迹问题。本篇文章我们来讨论一下A*算法,在三维地图上可行性。

目录

A算法(一):4方向
A算法(二):8方向
A算法(三):双向策略与类似算法
A算法(四):权值与混合型地图
A*算法(五):在三维地图的可行性

可行性讨论

在二维空间上,我们把地图分割成许许多多大小一致的正方格。而在三维空间,我们就得考虑高度了。于是一个三维地图就可以通过许许多多大小一致的正方体来表示。
在这里插入图片描述
A*算法用在三维空间无非就是把高度也考虑进去。但是在二维空间里,方格最多只要考虑8个方向,而三维空间的方块最多得考虑26个方向(3*3*3 - 1),这对于一般的遍历算法来说,工作量是巨大的。

为了减少遍历,我们可以尝试做出一定的牺牲。

第一种策略是减少遍历方向,之前的文章我们讨论过二维地图的A*算法,4方向只能够上下左右移动,不能斜着移动,相比于8方向减少了方向的遍历。类似地,在三维空间,如果不允许斜着飞行,那么只要考虑6个方向就可以了,如下图。
在这里插入图片描述

第二种策略是减少粒度,如下图,右边的图片像素个数从 500 * 300 减少到 250 * 150。遍历全像素次数大大减少,但代价是图片变模糊了。
在这里插入图片描述
类似的一个三维空间由原来的100 * 100 * 100表示,改用 75 * 75 * 75来表示,遍历次数就减少了,但代价就是精确度降低。

或许同时使用上述两种策略会有不错的效果。

如果A*算法在三维空间可行,那么上一篇文章讲到的基于权值的混合型地图路径规划也就不成问题了。

例如下图,灰色方块为障碍物,绿色为无风区域(权值为1),红色为微风区域(权值为10),紫色为大风区域(权值为100),很显然,天蓝色的飞行路径耗时最短。黄色路径虽然距离最短但由于经过了大风区域(权值为100),耗时大大增加。
在这里插入图片描述

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值