[发明专利]一种快速计算正六边形网格最短路径的算法在审
| 申请号: | 202110698315.8 | 申请日: | 2021-06-23 |
| 公开(公告)号: | CN113946777A | 公开(公告)日: | 2022-01-18 |
| 发明(设计)人: | 张亮;王璞;罗英;张海丰;高舜龙;宋兴瑞;潘晓静 | 申请(专利权)人: | 南京国科软件有限公司 |
| 主分类号: | G06F17/10 | 分类号: | G06F17/10 |
| 代理公司: | 北京化育知识产权代理有限公司 11833 | 代理人: | 尹均利 |
| 地址: | 210000 江苏省南京市栖霞区*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 快速 计算 六边形 网格 路径 算法 | ||
本发明公开了一种快速计算正六边形网格最短路径的算法,在建立模块中建立数据模型,建立的数据模型为基于数学统计特征的蜂窝式正六边形网格状模型,将若干数值通过输入模块输入进入建立模块中,通过判定单元对数值进行比较、判断奇偶数和加减操作,将两个正六边形的位置进行确定,将两个正六边形的位置索引分别(x0,y0)和(x,y),记k=0,1,2,···表示任一非负整数,使这两个正六边形的距离L满足三种算法,对两组位置编号代入公式进行求解,计算步骤分两步来计算,第一步是求解其左右边界,第二步是求解其上下边界,求出其二者的距离。
技术领域
本发明涉及正六边形网格计算领域,尤其涉及一种快速计算正六 边形网格最短路径的算法。
背景技术
在路径规划、游戏设计、无线通信和生物医药等领域中,计算任 意两个正六边形之间的最短路径是一个重要的研究课题。例如,对于 某种二代基因测序仪芯片,芯片上有3600行3648列的正六边形小孔, 需要计算出任意两个正六边形小孔之间的最短距离。又例如,在某种 兵棋游戏的地图设计时,将整个地图区域剖分为2600行4700列的正 六边形单元区域,需要计算出任意两个正六边形单元区域之间的最短 距离。
目前,计算任意两个正六边形之间最短路径常用的算法有两种, 一是基于极坐标和等差数列的方法;二是基于数学归纳法和广度优先 算法。这两种算法都涉及到平方、开平方、求余弦等计算方式,所以 它们的计算复杂度都是O(N2)量级,因此这两种算法常常要求计算区 域中正六边形网格的总个数不超过105。而对于我们上面所举的两个 例子,它们计算区域中正六边形网格的个数已经达到107,显然,不 适合采用上述两种常规算法进行计算。
为此,我们提出一种快速计算正六边形网格最短路径的算法来解 决上述问题。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,发明了计算复 杂度为量级的算法,可快速实现任意两个正六边形网格之间最短路径 的计算,而提出的一种快速计算正六边形网格最短路径的算法。
为了实现上述目的,本发明采用了如下技术方案:一种快速计算 正六边形网格最短路径的算法,包括以下步骤:
S1:在建立模块中建立数据模型;
S2:将若干数值通过输入模块输入进入建立模块中;
S3:通过判定单元对数值进行比较、判断奇偶数和加减操作;
S4:将两个正六边形的位置进行确定,使这两个正六边形的距离 L满足三种算法;
S5:对两组位置编号代入公式进行求解,求出其二者的距离。
优选的,所述步骤S4中所述的三种算法包括:
S401:当|x-x0|=2k时,
S402:当x0为奇数,且|x-x0|=2k+1时,
S403:当x0为偶数,且|x-x0|=2k+1时,
优选的,所述步骤S4中将两个正六边形的位置索引分别(x0,y0)和 (x,y),记k=0,1,2,…表示任一非负整数。
优选的,所述步骤S1中建立的数据模型为基于数学统计特征的 蜂窝式正六边形网格状模型。
优选的,所述步骤S5中计算步骤分两步来计算,第一步是求解 其左右边界,第二步是求解其上下边界。
优选的,所述求解步骤为:第一步求解左右边界:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京国科软件有限公司,未经南京国科软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110698315.8/2.html,转载请声明来源钻瓜专利网。





