一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于六角格剖分的覆盖范围定位方法及存储介质与流程

2021-10-24 12:09:00 来源:中国专利 TAG:覆盖 定位 特别 计算机 方法


1.本发明涉及计算机图形学技术领域,特别涉及一种基于六角格剖分的覆盖范围定位方法及存储介质。


背景技术:

2.在计算机中常将平面处理成网格,进行离散化。三角形、四边形和六边形是能够对平面进行完整剖分的三种基本几何图形,其中,正六边形的六角格剖分方法由于离散方向多、面积变形小,常用于计算机仿真、测绘、机器人控制等领域。在实际应用中,如无线基站、摄像机、雷达等实体在六角格剖分平面上设定一原点位置的六角格,随后按照此原点位置的六角格的某一个离散方向逐格平移搜索,在离散化处理每一六角格的情况过程中,其电磁辐射覆盖范围、视界覆盖范围等具有圆(扇)形区域特征的包络也会随之扩散平移,需要计算上述区域在六角格剖分平面上的覆盖区域,对覆盖的六角格进行定位。
3.传统的圆(扇)形区域覆盖范围定位算法主要有两种:一种是以圆心和半径/角度为参数,算出区域轮廓的矢量,然后判断哪些六角格在该轮廓范围内;该方法首先要计算矢量轮廓线,然后要对轮廓线相交的六角格进行逐个判断,按照一定的判据确定轮廓线对应的六角格轮廓,最后将六角格轮廓包络内的所有六角格加入到覆盖区域集合中;该方法需要进行矢量和网格的相交计算,还要进行六角格包络包含网格计算,虽然计算速度不慢,但是计算过程比较复杂。另一种是以圆心六角格为中心,对周边六角格进行逐层遍历,直到最外层超出半径范围的六角格;该方法需要逐格遍历,计算效率不高。公开号cn107506513a的中国专利申请公开了一种基于a*算法的兵棋六角格地图路径规划方法,提出了一种六角格定位方法,并且提出两个单元格之间计算距离的方法,更侧重于路径规划寻找最优路径,当需要遍历六角格剖分平面上圆(扇)形区域时,很难快速定位六角格。因此,需要提供一种可以快速定位六角格剖分平面上圆(扇)形区域某一具体位置的快速定位算法,使得在处理计算机仿真、测绘、机器人控制等领域中的快速定位搜索问题时,简化计算,进而提高其搜索效率。


技术实现要素:

4.本发明的目的在于提供一种基于六角格剖分的覆盖范围定位方法及存储介质,以解决计算机仿真、测绘、机器人控制等领域中快速定位搜索效率较低的问题。
5.为解决上述技术问题,基于本发明的一个方面,本发明提供一种基于六角格剖分的覆盖范围定位方法,其包括:
6.提供六角格剖分平面,于所述六角格剖分平面中设定初始六角格;所述六角格剖分平面中每个六角格的六条边依次排布为六个遍历方向;
7.选择所述初始六角格的一个所述遍历方向作为遍历起始方向,以所述初始六角格的所述遍历起始方向一系列相邻的六角格作为遍历基准格;
8.基于预设的遍历宽度和遍历辐射角,以所述遍历基准格为起始,对所述六角格剖
分平面进行遍历,得到待求六角格的遍历范围。
9.可选的,将每个六角格的六个所述遍历方向配置为沿顺时针方向依次排布。
10.可选的,所述基于六角格剖分的覆盖范围定位方法还包括:基于预设的遍历坐标规则设定所述六角格剖分平面中每个六角格的坐标;所述遍历坐标规则被配置为:
11.选定任一个六角格并设定其坐标为(x,y),根据下式获取与所述选定的六角格相邻的六个六角格的坐标,其中,第m个所述遍历方向上相邻的六角格的坐标为(x
m
,y
m
),m∈[1,6];
[0012]
x1=x,y1=y 1;
[0013]
若x是偶数,x2=x 1,y2=y 1;否则,x2=x 1,y2=y;
[0014]
若x是偶数,x3=x 1,y3=y;否则,x3=x 1,y3=y

1;
[0015]
x4=x,y4=y

1;
[0016]
若x是偶数,x5=x

1,y5=y;否则,x5=x

1,y5=y

1;
[0017]
若x是偶数,x6=x

1,y6=y;否则,x6=x

1,y6=y

1。
[0018]
可选的,设定所述初始六角格的坐标为(x0,y0),选定所述初始六角格的第m个所述遍历方向作为遍历起始方向,根据下式获取所述遍历基准格的坐标;其中,遍历宽度为n时的所述遍历基准格的坐标为(x
nm
,y
nm
),n≥0;
[0019][0020]
当x0为偶数时,否则,否则,
[0021]
当x0为偶数时,否则,否则,
[0022][0023]
当x0为偶数时,否则,否则,
[0024]
当x0为偶数时,否则,否则,
[0025]
上式中,为向下取整,为向上取整。
[0026]
可选的,当所述遍历辐射角为30
°
、90
°
、270
°
或360
°
时,以所述遍历基准格为起始,沿顺时针方向遍历所述遍历辐射角的值,得到不同遍历宽度上的待求六角格的范围。
[0027]
可选的,当所述遍历辐射角为30
°
时,遍历宽度为n时的待求六角格的范围包括:所述遍历基准格和第[(m 2)%6]个遍历方向上的个六角格;其中,为向上取整,%为取余运算,n≥1,m∈[1,6]
[0028]
当所述遍历辐射角为90
°
时,遍历宽度为n时的待求六角格的范围包括:所述遍历基准格、第[(m 2)%6]个遍历方向上的n个六角格以及第[(m 3)%6]个遍历方向上的个六角格;
[0029]
当所述遍历辐射角为270
°
时,遍历宽度为n时的待求六角格的范围包括:所述遍历基准格、第[(m 2)%6]个遍历方向上的n个六角格、第[(m 3)%6]个遍历方向上的n个六角格、第[(m 4)%6]个遍历方向上的n个六角格、第[(m 2)%5]个遍历方向上的n个六角格以及第m个遍历方向上的个六角格;。
[0030]
可选的,当所述遍历辐射角为360
°
时,选定所述初始六角格的第5个遍历方向作为所述遍历起始方向,遍历宽度为n上的待求六角格的范围包括所述遍历基准格,以及第1个遍历方向至第6个遍历方向上的均为n个的六角格,其中n≥0。
[0031]
可选的,当所述遍历辐射角为60
°
、120
°
或180
°
时,以所述遍历基准格为起始,分别沿顺时针和逆时针方向遍历所述遍历辐射角一半的值,得到不同遍历宽度上的待求六角格的范围。
[0032]
可选的,当所述遍历辐射角为60
°
时,遍历宽度为n时的待求六角格的范围包括:所述遍历基准格、逆时针方向第[(m 4)%6]个遍历方向上的述遍历基准格、逆时针方向第[(m 4)%6]个遍历方向上的个六角格以及顺时针方向第[(m 2)%6]个遍历方向上的个六角格;
[0033]
当所述遍历辐射角为120
°
时,遍历宽度为n时的待求六角格的范围包括:所述基准六角格、逆时针方向第[(m 4)%6]个遍历方向上的n个六角格以及顺时针方向第[(m 2)%6]个遍历方向上的n个六角格;
[0034]
当所述遍历辐射角为180
°
时,遍历宽度为n时的待求六角格的范围包括:所述基准六角格、逆时针方向第[(m 4)%6]个遍历方向上的n个六角格和第[(m 3)%6]个遍历方向上的个六角格,以及顺时针方向第[(m 2)%6]个遍历方向上的n个六角格和第[(m 3)%6]个遍历方向上的个六角格;其中,为向上取整,%为取余运算,n≥1,m∈[1,6]。
[0035]
基于本发明的另一个方面,本发明还提供一种存储介质,其上存储有可被读写的程序,所述程序被执行时能实现如上所述的基于六角格剖分的覆盖范围定位方法。
[0036]
综上所述,本发明提供的基于六角格剖分的覆盖范围定位方法包括:提供六角格剖分平面,于所述六角格剖分平面中设定初始六角格;所述六角格剖分平面中每个六角格的六条边依次排布为六个遍历方向;选择所述初始六角格的一个所述遍历方向作为遍历起始方向,以所述初始六角格的所述遍历起始方向一系列相邻的六角格作为遍历基准格;基于预设的遍历宽度和遍历辐射角,以所述遍历基准格为起始,对所述六角格剖分平面进行遍历,得到待求六角格的遍历范围。本发明通过遍历辐射角及不同遍历宽度上的遍历基准格,可快速定位计算在该遍历宽度上的六角格。相比传统通过遍历整个六角格剖分平面以定位待求六角格的定位算法,本发明提出的六角格定位计算方法将遍历时间复杂度从o(n)降低到o(1),提高了计算效率,节约了计算资源,从而快速得到待求六角格范围;进一步,通过计算每一个遍历宽度上的待求六角格的范围,可得到所述基于六角格剖分的覆盖范围。
附图说明
[0037]
本领域的普通技术人员应当理解,提供的附图用于更好地理解本发明,而不对本发明的范围构成任何限定。其中:
[0038]
图1是本发明实施例一的六角格的遍历方向的示意图;
[0039]
图2是本发明实施例一的基于六角格剖分平面的坐标示意图;
[0040]
图3是本发明实施例二的遍历辐射角为360
°
时的示意图;
[0041]
图4是本发明实施例二的带求六角格的遍历范围的平移图;
[0042]
图5是本发明实施例三的遍历辐射角为30
°
时的示意图;
[0043]
图6是本发明实施例四的遍历辐射角为90
°
时的示意图;
[0044]
图7是本发明实施例五的遍历辐射角为270
°
时的示意图;
[0045]
图8是本发明实施例六的遍历辐射角为60
°
时的示意图;
[0046]
图9是本发明实施例七的遍历辐射角为120
°
时的示意图;
[0047]
图10是本发明实施例八的遍历辐射角为180
°
时的示意图。
具体实施方式
[0048]
为使本发明的目的、优点和特征更加清楚,以下结合附图和具体实施例对本发明作进一步详细说明。需说明的是,附图均采用非常简化的形式且未按比例绘制,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。
[0049]
如在本发明中所使用的,单数形式“一”、“一个”以及“该”包括复数对象,术语“或”通常是以包括“和/或”的含义而进行使用的,术语“若干”通常是以包括“至少一个”的含义而进行使用的,术语“至少两个”通常是以包括“两个或两个以上”的含义而进行使用的,此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者至少两个该特征,除非内容另外明确指出外。
[0050]
本发明提供一种基于六角格剖分的覆盖范围定位方法及存储介质,以解决计算机仿真、测绘、机器人控制等领域中快速定位搜索效率较低的问题。
[0051]
本发明提供的基于六角格剖分的覆盖范围定位方法包括:
[0052]
提供六角格剖分平面,于所述六角格剖分平面中设定初始六角格;所述六角格剖分平面中每个六角格的六条边依次排布为六个遍历方向;
[0053]
选择所述初始六角格的一个所述遍历方向作为遍历起始方向,以所述初始六角格的所述遍历起始方向一系列相邻的六角格作为遍历基准格,即以沿所述遍历起始方向依次与所述初始六角格相邻的六角格作为遍历基准格;
[0054]
基于预设的遍历宽度和遍历辐射角,以所述遍历基准格为起始,对所述六角格剖分平面进行遍历,得到待求六角格的遍历范围。
[0055]
应理解,这里的遍历方向,指的是自六角格的中心并沿六角格的径向向外延伸的射线所在的方向,所述的射线垂直于六角格的边;沿所述遍历起始方向依次与所述初始六角格相邻的六角格作为遍历基准格,可理解为,多个遍历基准格沿初始六角格的遍历起始方向依次排布;遍历宽度,指的是围绕初始六角格的六角格的层数(圈数),定义初始六角格的遍历宽度为0;基于预设的遍历宽度和遍历辐射角对所述六角格剖分平面进行遍历,指的是以遍历基准格为起始,根据遍历辐射角,对预设的遍历宽度上的六角格进行搜索定位,即沿遍历辐射角设定的路径对六角格剖分平面进行访问,从而得到待求六角格的范围。
[0056]
【实施例一】
[0057]
本实施例请参考图1和图2,其中,图1是本发明实施例一的六角格的遍历方向的示意图,图2是本发明实施例一的基于六角格剖分平面的坐标示意图。
[0058]
如图1所示,将每个六角格的六个所述遍历方向配置为沿顺时针方向依次排布,并将六角格的六个遍历方向依次命名为第1个遍历方向、第2个遍历方向、第3个遍历方向、第4个遍历方向、第5个遍历方向、第6个遍历方向。在其他一些实施例中,也可将六个遍历方向逆时针排布。
[0059]
为了便于更好地确定每个六角格的位置,本实施例对六角格剖分平面内的每个六角格赋予坐标,基于此,所述基于六角格剖分的覆盖范围定位方法还包括:基于预设的遍历坐标规则设定所述六角格剖分平面中每个六角格的坐标;所述遍历坐标规则被配置为:
[0060]
选定任一个六角格并设定其坐标为(x,y),根据下式获取与所述选定的六角格相邻的六个六角格的坐标,其中,第m个所述遍历方向上相邻的六角格的坐标为(x
m
,y
m
),m∈[1,6];具体坐标见下表:
[0061]
表1所述遍历方向上相邻的六角格的坐标
[0062][0063]
具体地,如图2所示,假定选定的六角格的坐标为(2,1),可由上述的遍历坐标规则确定与选定的六角相邻的六个六角格的坐标,分别为(2,2)、(3,2)、(3,1)、(2,0)、(1,1)和(1,2),然后在根据上述的遍历坐标规则计算上述坐标相邻的六个坐标,如此可计算六角格剖分平面中每个六角格的坐标。本实施例可优选所述选定的坐标为初始六角格的坐标。
[0064]
进一步,设定所述初始六角格的坐标为(x0,y0),选定所述初始六角格的第m个所述遍历方向作为遍历起始方向,根据下式获取所述遍历基准格的坐标;其中,遍历宽度为n时的所述遍历基准格的坐标为(x
nm
,y
nm
),n≥0;这里,将计算遍历基准格的公式记作遍历基准格优化求解式,具体如下:
[0065][0066]
当x0为偶数时,否则,否则,
[0067]
当x0为偶数时,否则,否则,
[0068][0069]
当x0为偶数时,否则,
[0070]
当x0为偶数时,否则,否则,
[0071]
上式中,为向下取整,为向上取整。
[0072]
具体地,如果初始六角格的坐标(x0,y0)即为(602,1030),选定所述初始六角格的第5个遍历方向作为遍历起始方向(即m=5),按上述遍历基准格求解公式可得:当遍历宽度为1(即n=1)时的5遍历方向上的遍历基准格坐标为(601,1030);当遍历宽度为2(即n=2)时的5遍历方向上的遍历基准格坐标为(600,1029);当遍历宽度为3(即n=3)时的5遍历方向上的遍历基准格坐标为(599,1029);对于其他遍历方向上的遍历基准格坐标可根据所述的遍历基准格优化求解式得出,这里不再展开说明。
[0073]
为便于本领域技术人员更好地理解所述的遍历基准格优化求解式,这里将对所述的遍历基准格优化求解式的求证解释进行说明。
[0074]
这里以第5个遍历方向(即m=5)为遍历起始方向,初始六角格的坐标为(x0,y0),求证遍历宽度为n时的所述遍历基准格的坐标为(x
n5
,y
n5
),当x0为偶数时,否则,
[0075]
证明:
[0076]
(1)当x0为偶数时,
[0077]
步骤1:当n=1时,遍历宽度为1时的遍历基准格坐标由表1中第5个遍历方向上的相邻六角格坐标计算得到,即为(x
15
,y
15
)=(x0‑
1,y0)。该遍历基准格优化求解式算法(为便于叙述,以下以“算法”表述)在n=1时,遍历宽度为1时的遍历基准格坐标为x
15
=x0‑
1,所以,该算法在n=1时成立。
[0078]
步骤2:需证明当n=k算法成立时,则n=k 1算法也成立。
[0079]
假设n=k时,该算法成立。即遍历宽度为k时的遍历基准格坐标为:x
k5
=x0‑
k,
[0080]
则遍历宽度为k 1时的遍历基准格坐标可根据表1中第5个遍历方向的相邻六角格坐标计算得到,
[0081]
若x是偶数,x5=x

1,y5=y否则,x5=x

1,y5=y
‑1[0082]
区分两种情况:
[0083]
a)k为偶数时,则x
k5
=x0‑
k为偶数,则遍历宽度为k 1时的遍历基准格坐标为x
k 15
=x
k5

1=(x0‑
k)

1=x0‑
(k 1),(k 1),则n=k 1时该算法也成立。
[0084]
b)k为奇数时,则x
k5
=x0‑
k为奇数,则遍历宽度为k 1时的遍历基准格坐标为x
k 15
=x
k5

1=(x0‑
k)

1=x0‑
(k 1),(k 1),则n=k 1时该算法也成立。
[0085]
则得到当n=k算法成立时,则n=k 1算法也成立。
[0086]
综上可得,当x0为偶数时,该遍历基准格优化求解式成立。
[0087]
(2)当x0为奇数时,
[0088]
步骤1:当n=1时,遍历宽度为1时的遍历基准格坐标由表1中第5个遍历方向的相邻六角格坐标计算得到,即为(x
15
,y
15
)=(x0‑
1,y0‑
1)。该该遍历基准格优化求解式算法在n=1时,遍历宽度为1时的遍历基准格坐标为x
15
=x0‑
1,所以,该算法在n=1时成立。
[0089]
步骤2:需证明当n=k算法成立时,则n=k 1算法也成立。
[0090]
假设n=k时,该算法成立。即遍历宽度为k时的遍历基准格坐标为:x
k5
=x0‑
k,
[0091]
则遍历宽度为k 1时的遍历基准格坐标可根据表1中第5个遍历方向的相邻六角格坐标计算得到,
[0092]
若x是偶数,x5=x

1,y5=y否则,x5=x

1,y5=y
‑1[0093]
区分两种情况:
[0094]
a)k为偶数时,则x
k5
=x0‑
k为奇数,则遍历宽度为k 1时的遍历基准格坐标为x
k 15
=x
k5

1=(x0‑
k)

1=x0‑
(k 1),(k 1),则n=k 1时该算法也成立。
[0095]
b)k为奇数时,则x
k5
=x0‑
k为偶数,则遍历宽度为k 1时的遍历基准格坐标为x
k 15
=x
k5

1=(x0‑
k)

1=x0‑
(k 1),(k 1),则n=k 1时该算法也成立。
[0096]
则得到当n=k算法成立时,则n=k 1算法也成立。
[0097]
综上所述,当x0为奇数时,该遍历基准格优化求解式成立。
[0098]
证毕。
[0099]
从求解证明过程可以发现,本发明计算遍历宽度为n时的所述遍历基准格的坐标的计算方法相较于传统通过一层一层遍历最终得到遍历宽度为n时的遍历基准格的算法,本发明将遍历时间复杂度从o(n)降低到o(1),提高了计算效率,节约了计算资源。遍历基准格优化求解式的其他几个方向求证解释相似,这里不做详细解释求证。
[0100]
【实施例二】
[0101]
本实施例请参考图3,图3是本发明实施例二的遍历辐射角为360
°
时的示意图。
[0102]
如图3所示,当遍历辐射角为360
°
时,即遍历范围为圆形。基于实施例一配置的六个遍历方向的排布方式,以遍历基准格为起始,沿顺时针方向遍历360
°
,得到待求六角格的范围。
[0103]
具体地,选定初始六角格的第5个遍历方向为遍历起始方向,遍历宽度为1时,沿该遍历宽度上的遍历基准格的第1个遍历方向依次遍历完第1个遍历方向上的六角格,然后遍历第2个遍历方向上的六角格,
……
,最后遍历第6个方向上的六角格,并最终回到遍历宽度为1上的遍历基准格;而后通过遍历宽度为1的基准格的第5个遍历方向进入遍历宽度为2上的遍历基准格,顺时针依次遍历第1个遍历方向至第6个遍历方向上的六角格。如此,即遍历宽度为n上的待求六角格的范围包括所述遍历基准格,以及第1个遍历方向至第6个遍历方
向上的均为n个的六角格,其中n≥0;即,在遍历宽度为n时,依次遍历了n个第1个遍历方向的六角格、n个第2个遍历方向的六角格、n个第3个遍历方向的六角格、n个第4个遍历方向的六角格、n个第5个遍历方向的六角格和n个第6个遍历方向的六角格。
[0104]
在其他一些实施例中,可以以遍历基准格为起始,沿逆时针方向遍历360
°
,得到待求六角格的范围。
[0105]
本发明计算遍历宽度为n时的所述遍历基准格的坐标的计算方法相较于传统通过一层一层遍历最终得到遍历宽度为n时的遍历基准格的算法,本发明将遍历时间复杂度从o(n)降低到o(1)。具体地,当遍历宽度n为500时,如果从初始六角格(x0,y0)计算得到遍历宽度n为500时第5个遍历方向时的所述遍历基准格的坐标为(x
5005
,y
5005
),需根据选定的六角格的相邻六个六角格的坐标规则(即实施例一所述的遍历坐标规则)来计算(x0,y0)相邻的六个坐标,进而确定(x0,y0)的第5个遍历方向坐标(x
15
,y
15
),然后继续根据所述的遍历坐标规则进一步根据坐标(x
15
,y
15
)计算其5方向坐标(x
25
,y
25
),依次地,一直到根据坐标(x
4995
,y
4995
)计算其第5个遍历方向坐标最终得到坐标结果(x
5005
,y
5005
),这个过程需要500次的计算。优选地,根据实施例1中的遍历基准格优化求解式计算初始六角格(x0,y0)第5个遍历方向,遍历宽度为500时的遍历基准格的坐标,可以直接得到坐标(x
5005
,y
5005
),即只需1次计算,具体而言,若设定起始坐标(x0,y0)为(602,1030),则根据实施例1中的遍历基准格优化求解式可直接计算得到坐标(x
5005
,y
5005
)其值为(102,780)。由上可见,相较于传统计算遍历宽度上六角格的算法,本发明可将遍历时间复杂度从o(n)降低到o(1)。
[0106]
应用到实际中,如果搜索源发生平移即其遍历区域也会发生平移,比如说机载雷达,通过本发明可快速确定变化区域,即新的遍历覆盖范围。具体地,请参见图4,图4是本发明实施例二的待求六角格的遍历范围的平移图,也可理解为是一种搜索区域平移前后的效果图。这里,设定搜索源起始位置在坐标(100,100)的六角格中,搜索半径(遍历宽度)为3,而后向其第3个遍历方向的六角格移动,搜索源所在位置坐标变为(101,100)的六角格,从而确定新的遍历范围(图4中的填充六角格),在此移动过程中,通过本发明算法可方便快速确定未搜索过的区域范围,即坐标为(101,97)、(102,97)、(103,98)、(104,98)、(104,99)、(104,100)、(104,101)的六角格范围,快速定位后也方便后续其他操作。本领域技术人员可相应地选择搜索源的其他遍历方向以相应的搜索半径(遍历宽度),确定新的搜索范围(遍历范围),得到平移之前未搜索过的区域。
[0107]
【实施例三】
[0108]
本实施例请参考图5,图5是本发明实施例三的遍历辐射角为30
°
时的示意图。
[0109]
与实施例二不同的是,本实施例的遍历范围为30
°
的扇形区域。
[0110]
具体地,选择初始六角格的第m个遍历方向作为遍历起始方向(图3中示出的是第1个遍历方向),基于不同的遍历宽度,沿顺时针遍历30
°
,得到不同遍历宽度上的待求六角格。此外,在遍历完遍历宽度为(n

1)上的六角格之后,沿选择的第m个遍历方向访问遍历宽度为n时的遍历基准格。即遍历宽度为1时,以该遍历宽度上的遍历基准格为起始顺时针遍历30
°
;而后沿第m个遍历方向访问遍历宽度为2上的遍历基准格子,以该遍历基准格为起始。顺时针遍历30
°

……
,直到以遍历宽度为n上的遍历基准格为起始,顺时针遍历30
°
。如此,可得到遍历辐射角角为30
°
的待求六角格的范围。
[0111]
具体地,遍历辐射角角为30
°
的待求六角格的范围包括所述遍历基准格和第[(m
2)%6]个遍历方向上的个六角格。其中,为向上取整,%为取余运算,n≥1,m∈[1,6]。
[0112]
在其他一些实施例中,可以以遍历基准格为起始,沿逆时针方向遍历30
°
,得到待求六角格的范围,此时待求六角格的范围需重新计算,这里不做详细说明。
[0113]
相应地,与实施例二同理,如果遍历范围发生平移,可通过本发明快速确定新的遍历范围。具体,即设定搜索源的六角格的坐标为(a,b),在确定搜索半径(遍历宽度n)以及搜索源的遍历方向后,移动搜索源的坐标位置,而后计算本实施例的新的遍历范围为30
°
的扇形区域,从而得到平移之前未搜索过的区域。
[0114]
【实施例四】
[0115]
本实施例请参考图6,图6是本发明实施例四的遍历辐射角为90度的示意图。
[0116]
本实施例的遍历方式和实施例三相同,不同在于遍历范围为90
°
的扇形区域。
[0117]
本实施例中,遍历辐射角为90
°
时的待求六角格的范围包括所述遍历基准格、第[(m 2)%6]个遍历方向上的n个六角格以及第[(m 3)%6]个遍历方向上的个六角格,即遍历辐射角为90
°
时的待求六角格的范围包括所述遍历基准格、第[(m 2)%6]个遍历方向上的n个六角格以及第[(m 3)%6]个遍历方向上的个六角格。图6示范性地示出,n是表示遍历宽度为3,m表示的是第1个遍历方向,
[0118]
在其他一些实施例中,可以以遍历基准格为起始,沿逆时针方向遍历90
°
,得到待求六角格的范围,此时待求六角格的范围需重新计算,这里不做详细说明。
[0119]
相应地,与实施例二同理,如果遍历范围发生平移,可通过本发明快速确定新的遍历范围。具体,即设定搜索源的六角格的坐标为(a,b),在确定搜索半径(遍历宽度n)以及搜索源的遍历方向后,移动搜索源的坐标位置,而后计算本实施例的新的遍历范围为90
°
的扇形区域,从而得到平移之前未搜索过的区域。
[0120]
【实施例五】
[0121]
本实施例请参考图7,图7是本发明实施例五的遍历辐射角为270
°
的示意图。
[0122]
本实施例的遍历方式和实施例三及和实施例四相同,不同在于遍历范围为270
°
的扇形区域。
[0123]
本实施例中,遍历辐射角为270
°
时的待求六角格的范围包括所述遍历基准格、第[(m 2)%6]个遍历方向上的n个六角格、第[(m 3)%6]个遍历方向上的n个六角格、第[(m 4)%6]个遍历方向上的n个六角格、第[(m 2)%5]个遍历方向上的n个六角格以及第m个遍历方向上的个六角格。
[0124]
在其他一些实施例中,可以以遍历基准格为起始,沿逆时针方向遍历270
°
,得到待求六角格的范围,此时待求六角格的范围需重新计算,这里不做详细说明。
[0125]
相应地,与实施例二同理,如果遍历范围发生平移,可通过本发明快速确定新的遍历范围。具体,即设定搜索源的六角格的坐标为(a,b),在确定搜索半径(遍历宽度n)以及搜索源的遍历方向后,移动搜索源的坐标位置,而后计算本实施例的新的遍历范围为270
°
的扇形区域,从而得到平移之前未搜索过的区域。
[0126]
【实施例六】
[0127]
本实施例请参考图8,图8是本发明实施例六的遍历辐射角为60
°
的示意图。
[0128]
如图8所示,以所述遍历基准格为起始,分别沿顺时针和逆时针方向遍历所述遍历辐射角一半的值(这里为30
°
),得到不同遍历宽度上的待求六角格的范围。
[0129]
具体地,遍历宽度为1时,沿初始六角格的第m个遍历方向进入遍历宽度为1上的遍历基准格,以该遍历宽度上的遍历基准格为起始分别顺时针和逆时针遍历30
°
;而后沿第m个遍历方向访问遍历宽度为2上的遍历基准格子,以该遍历基准格为起始,分别顺时针和逆时针遍历30
°

……
,直到以遍历宽度为n上的遍历基准格为起始,分别顺时针和逆时针遍历30
°
。如此,可得到遍历辐射角为60
°
的待求六角格的范围。
[0130]
遍历辐射角为60
°
的待求六角格的范围包括:所述遍历基准格、逆时针方向第[(m 4)%6]个遍历方向上的个六角格以及顺时针方向第[(m 2)%6]个遍历方向上的个六角格。
[0131]
相应地,与实施例二同理,如果遍历范围发生平移,可通过本发明快速确定新的遍历范围。具体,即设定搜索源的六角格的坐标为(a,b),在确定搜索半径(遍历宽度n)以及搜索源的遍历方向后,移动搜索源的坐标位置,而后根据本实施例的待求六角格的遍历范围计算方式计算本实施例的新的遍历范围为60
°
的扇形区域,从而得到平移之前未搜索过的区域。
[0132]
【实施例七】
[0133]
本实施例请参考图9,图9是本发明实施例七的遍历辐射角为120
°
的示意图。
[0134]
本实施例与实施例六的遍历方式相同,区别在于遍历辐射角为120
°
。如图9所示,以所述遍历基准格为起始,分别沿顺时针和逆时针方向遍历所述遍历辐射角一半的值(这里为60
°
),得到不同遍历宽度上的待求六角格的范围。
[0135]
具体地,遍历宽度为1时,沿初始六角格的第m个遍历方向进入遍历宽度为1上的遍历基准格,以该遍历宽度上的遍历基准格为起始分别顺时针和逆时针遍历60
°
;而后沿第m个遍历方向访问遍历宽度为2上的遍历基准格,以该遍历基准格为起始,分别顺时针和逆时针遍历60
°

……
,直到以遍历宽度为n上的遍历基准格为起始,分别顺时针和逆时针遍历60
°
。如此,可得到遍历辐射角为120
°
的待求六角格的范围。
[0136]
遍历辐射角为120
°
的待求六角格的范围包括:所述基准六角格、逆时针方向第[(m 4)%6]个遍历方向上的n个六角格以及顺时针方向第[(m 2)%6]个遍历方向上的n个六角格。
[0137]
相应地,与实施例二同理,如果遍历范围发生平移,可通过本发明快速确定新的遍历范围。具体,即设定搜索源的六角格的坐标为(a,b),在确定搜索半径(遍历宽度n)以及搜索源的遍历方向后,移动搜索源的坐标位置,而后根据本实施例的方式顺时针和逆时针各遍历60
°
的范围计算本实施例的新的遍历范围为120
°
的扇形区域,从而得到平移之前未搜索过的区域。
[0138]
【实施例八】
[0139]
本实施例请参考图10,图10是本发明实施例八的遍历辐射角为180
°
的示意图。
[0140]
本实施例与实施例六及是实施例七的遍历方式相同,区别在于遍历辐射角为180
°
。如图7所示,以所述遍历基准格为起始,分别沿顺时针和逆时针方向遍历所述遍历辐射角一半的值(这里为90
°
),得到不同遍历宽度上的待求六角格的范围。
[0141]
具体地,遍历宽度为1时,沿初始六角格的第m个遍历方向进入遍历宽度为1上的遍历基准格,以该遍历宽度上的遍历基准格为起始分别顺时针和逆时针遍历90
°
;而后沿第m个遍历方向访问遍历宽度为2上的遍历基准格,以该遍历基准格为起始,分别顺时针和逆时针遍历90
°

……
,直到以遍历宽度为n上的遍历基准格为起始,分别顺时针和逆时针遍历90
°
。如此,可得到遍历辐射角为180
°
的待求六角格的范围。
[0142]
遍历辐射角为180
°
的待求六角格的范围包括:所述基准六角格、逆时针方向第[(m 4)%6]个遍历方向上的n个六角格和第[(m 3)%6]个遍历方向上的个六角格,以及顺时针方向第[(m 2)%6]个遍历方向上的n个六角格和第[(m 3)%6]个遍历方向上的个六角格。
[0143]
相应地,与实施例二同理,如果遍历范围发生平移,可通过本发明快速确定新的遍历范围。具体,即设定搜索源的六角格的坐标为(a,b),在确定搜索半径(遍历宽度n)以及搜索源的遍历方向后,移动搜索源的坐标位置,而后根据本实施例的遍历方式顺时针和逆时针各遍历90
°
的范围计算本实施例的新的遍历范围为180
°
的扇形区域,从而得到平移之前未搜索过的区域。
[0144]
需说明的是,实施例二至实施例八中,各自附图中的遍历宽度n不可因图中示出的数值而造成任何限定,本领域技术人员可根据实际需求设定。此外实施例三至实施例五可供相互借鉴参考,对于各自所述的遍历范围发生平移的情况,可参考实施例二的平移求解方式求出新的遍历范围;此外实施例六至实施例八可供相互借鉴参考,对于各自所述的遍历范围发生平移的情况,可参考实施例二的平移求解方式求出新的遍历范围。
[0145]
基于上述的基于六角格剖分的覆盖范围定位方法,本发明还提供一种存储介质,其上存储有可被读写的程序,所述程序被执行时能实现如上所述的基于六角格剖分的覆盖范围定位方法。具体地,本发明提供的基于六角格剖分的覆盖范围定位方法,可编成程序或软件,存储于所述可读存储介质上,实际使用中,利用该可读存储介质所存储的程序,来执行所述基于六角格剖分的覆盖范围定位方法的各个步骤。而该可读存储介质可集成设置于计算机中或其他硬件中。
[0146]
综上所述,本发明提供的基于六角格剖分的覆盖范围定位方法包括:提供六角格剖分平面,于所述六角格剖分平面中设定初始六角格;所述六角格剖分平面中每个六角格的六条边依次排布为六个遍历方向;选择所述初始六角格的一个所述遍历方向作为遍历起始方向,以所述初始六角格的所述遍历起始方向一系列相邻的六角格作为遍历基准格;基于预设的遍历宽度和遍历辐射角,以所述遍历基准格为起始,对所述六角格剖分平面进行遍历,得到待求六角格的遍历范围。本发明通过遍历辐射角及不同遍历宽度上的遍历基准格,可快速计算在该遍历宽度上的六角格。相较于传统通过遍历整个六角格剖分平面以定位待求六角格的定位算法,本发明提出的六角格定位计算方法将遍历时间复杂度从o(n)降低到o(1),提高了计算效率,节约了计算资源,从而快速确定待求六角格的范围;进一步,通过计算每一个遍历宽度上的待求六角格的范围,可得到所述基于六角格剖分的覆盖范围。
[0147]
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜