CN111035930B - 地图数据处理方法及装置 - Google Patents
地图数据处理方法及装置 Download PDFInfo
- Publication number
- CN111035930B CN111035930B CN201911244227.XA CN201911244227A CN111035930B CN 111035930 B CN111035930 B CN 111035930B CN 201911244227 A CN201911244227 A CN 201911244227A CN 111035930 B CN111035930 B CN 111035930B
- Authority
- CN
- China
- Prior art keywords
- edge
- area
- obstacle
- vertex
- region
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000004364 calculation method Methods 0.000 claims abstract description 29
- 238000004891 communication Methods 0.000 claims description 41
- 238000000034 method Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请公开一种地图数据处理方法及装置,其中,一种地图数据处理方法包括:加载显示第一地图,所述第一地图包括第一移动区域和至少两个物体,针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,确定所述物体与所述关联物体之间的目标区域,根据第二移动区域,计算所述目标物体的导航路径。采用本发明的技术方案,可以快速计算出所述目标物体的导航路径,提高了计算效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种地图数据处理方法及装置。
背景技术
在游戏场景中,通常需要在游戏地图上对目标物体进行导航路径计算。而游戏地图中地势复杂,比如包含各种障碍物和各种宽度的移动区域,移动区域是指不存在障碍物的区域,目虚拟角色只能在移动区域通行,但是由于移动区域的宽度各异,可能会导致目标物体无法通过计算出来的导航路径,而又需要重新计算,导致导航路径的计算效率低。
发明内容
本发明实施例提供一种地图数据处理方法及装置,可以快速计算出所述目标物体的导航路径,提高了导航路径计算效率。
第一方面,本发明实施例提供了一种地图数据处理方法,包括:
加载显示第一地图,所述第一地图包括第一移动区域和至少两个物体;
针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,所述关联物体与所述物体相邻,且所述关联物体的位置与所述物体的位置之间的距离小于目标物体的最大直径,所述关联物体属于所述至少两个物体中的物体;
确定所述物体与所述关联物体之间的目标区域,所述物体、所述关联物体以及所述目标区域之间存在连通关系,所述目标区域是所述第一移动区域中的部分区域;
根据第二移动区域,计算所述目标物体的导航路径,所述第二移动区域是所述第一移动区域中除所述目标区域外的区域。
在一种可能实现的实施中,至少两个物体包括所述第一地图包含的至少三个边界区域和/或所述第一地图中包含的至少一个障碍物区域,所述障碍物区域为多边形区域。
在一种可能实现的实施中,所述至少两个物体包括所述第一地图中包含的至少两个障碍物区域;
所述针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,包括:
针对所述至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的N个第一边缘,所述N为大于2的整数;
针对所述N个第一边缘中的每个第一边缘,确定与所述第一边缘关联的第二边缘,所述第二边缘与所述第一边缘相邻,所述第二边缘是与所述障碍物区域相邻的障碍物区域的边缘,且所述第二边缘与所述第一边缘之间的距离小于所述目标物体的最大直径;
将所述第二边缘对应的障碍物区域确定为所述第一边缘对应的障碍物区域的关联物体。
在一种可能实现的实施中,所述确定所述物体与所述关联物体之间的目标区域,包括:
根据所述第一边缘的位置、所述第二边缘的位置以及所述目标物体的最大直径,确定所述第一边缘与所述第二边缘之间的目标区域,所述第一边缘、所述第二边缘以及所述目标区域之间存在连通关系。
在一种可能实现的实施中,所述至少两个物体包括所述第一地图中包含的至少两个障碍物区域;
所述针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,包括:
针对至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的M个第一顶点,所述M为大于2的整数;
针对所述M个第一顶点中的每个第一顶点,确定与所述第一顶点关联的第二顶点,所述第二顶点与所述第一顶点相邻,所述第二顶点是与所述障碍物区域相邻的障碍物区域的顶点,且所述第二顶点与所述第一顶点之间的距离小于所述目标物体的最大直径;
将所述第二顶点对应的障碍物区域确定为所述第一顶点对应的障碍物区域的关联物体。
在一种可能实现的实施中,所述确定所述物体与所述关联物体之间的目标区域,包括:
根据所述第一顶点的位置、所述第二顶点的位置以及所述目标物体的最大直径,确定所述第一顶点与所述第二顶点之间的目标区域,所述第一顶点、所述第二顶点以及所述目标区域之间存在连通关系。
在一种可能实现的实施中,所述至少两个物体包括所述第一地图包含的至少三个边界区域和所述第一地图中包含的至少一个障碍物区域;
所述针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,包括:
针对所述至少三个边界区域中的每个边界区域,确定与所述边界区域关联的第三边缘,所述第三边缘与所述边界区域相邻,所述第三边缘是与所述边界区域相邻的障碍物区域的边缘,且所述第三边缘与所述边界区域之间的距离小于所述目标物体的最大直径;
将所述第三边缘对应的障碍物区域确定为所述边界区域的关联物体;
所述确定所述物体与所述关联物体之间的目标区域,包括:
根据所述边界区域的位置、所述第三边缘的位置以及所述目标物体的最大直径,确定所述边界区域与所述第三边缘之间的目标区域,所述边界区域、所述第三边缘以及所述目标区域之间存在连通关系。
第二方面,本发明实施例提供一种地图数据处理装置,包括:
加载模块,用于加载显示第一地图,所述第一地图包括第一移动区域和至少两个物体;
第一确定模块,用于针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,所述关联物体与所述物体相邻,且所述关联物体的位置与所述物体的位置之间的距离小于目标物体的最大直径,所述关联物体属于所述至少两个物体中的物体;
第二确定模块,用于确定所述物体与所述关联物体之间的目标区域,所述物体、所述关联物体以及所述目标区域之间存在连通关系,所述目标区域是所述第一移动区域中的部分区域;
第一计算模块,用于根据第二移动区域,计算所述目标物体的导航路径,所述第二移动区域是所述第一移动区域中除所述目标区域外的区域。
在一种可能实现的实施中,所述至少两个物体包括所述第一地图包含的至少三个边界区域和/或所述第一地图中包含的至少一个障碍物区域,所述障碍物区域为多边形区域。
在一种可能实现的实施中,所述至少两个物体包括所述第一地图中包含的至少两个障碍物区域;
所述第一确定模块包括:
第一获取单元,用于针对所述至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的N个第一边缘,所述N为大于2的整数;
第一确定单元,用于针对所述N个第一边缘中的每个第一边缘,确定与所述第一边缘关联的第二边缘,所述第二边缘与所述第一边缘相邻,所述第二边缘是与所述障碍物区域相邻的障碍物区域的边缘,且所述第二边缘与所述第一边缘之间的距离小于所述目标物体的最大直径;
第二确定单元,用于将所述第二边缘对应的障碍物区域确定为所述第一边缘对应的障碍物区域的关联物体。
在一种可能实现的实施中,所述第二确定模块具体用于:
根据所述第一边缘的位置、所述第二边缘的位置以及所述目标物体的最大直径,确定所述第一边缘与所述第二边缘之间的目标区域,所述第一边缘、所述第二边缘以及所述目标区域之间存在连通关系。
在一种可能实现的实施中,所述至少两个物体包括所述第一地图中包含的至少两个障碍物区域;
所述第一确定模块包括:
第二获取单元,用于针对至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的M个第一顶点,所述M为大于2的整数;
第三确定单元,用于针对所述M个第一顶点中的每个第一顶点,确定与所述第一顶点关联的第二顶点,所述第二顶点与所述第一顶点相邻,所述第二顶点是与所述障碍物区域相邻的障碍物区域的顶点,且所述第二顶点与所述第一顶点之间的距离小于所述目标物体的最大直径;
第四确定单元,用于将所述第二顶点对应的障碍物区域确定为所述第一顶点对应的障碍物区域的关联物体。
在一种可能实现的实施中,所述第二确定模块还具体用于:
根据所述第一顶点的位置、所述第二顶点的位置以及所述目标物体的最大直径,确定所述第一顶点与所述第二顶点之间的目标区域,所述第一顶点、所述第二顶点以及所述目标区域之间存在连通关系。
在一种可能实现的实施中,所述至少两个物体包括所述第一地图包含的至少三个边界区域和所述第一地图中包含的至少一个障碍物区域;
所述第一确定模块包括:
第五确定单元,用于针对所述至少三个边界区域中的每个边界区域,确定与所述边界区域关联的第三边缘,所述第三边缘与所述边界区域相邻,所述第三边缘是与所述边界区域相邻的障碍物区域的边缘,且所述第三边缘与所述边界区域之间的距离小于所述目标物体的最大直径;
第六确定单元,用于将所述第三边缘对应的障碍物区域确定为所述边界区域的关联物体;
所述第二确定模块还具体用于:
根据所述边界区域的位置、所述第三边缘的位置以及所述目标物体的最大直径,确定所述边界区域与所述第三边缘之间的目标区域,所述边界区域、所述第三边缘以及所述目标区域之间存在连通关系。
第三方面,本发明实施例提供另一种地图数据处理装置,其特征在于,包括处理器、存储器以及通信接口,所述处理器、存储器和通信接口相互连接,其中,所述通信接口用于接收和发送数据,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行第一方面所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
本发明实施例中,通过加载显示第一地图,所述第一地图包括第一移动区域和至少两个物体,针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,确定所述物体与所述关联物体之间的目标区域,根据第二移动区域,计算所述目标物体的导航路径,第二移动区域是所述第一移动区域中除所述目标区域外的区域。采用本发明的技术方案,在第一地图的第一移动区域中,确定所述物体与所述关联物体之间的目标物体不能通过的目标区域,根据所述第一移动区域中除目标区域外的第二移动区域,可以快速计算出所述目标物体的导航路径,提高了导航路径计算效率。
附图说明
为了说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种地图数据处理方法的流程图;
图2为本发明实施例提供的一种确定与所述物体关联的关联物体方法的流程图;
图3为本发明实施例提供的一种第一地图中物体A与物体B之间的位置关系的示意图;
图4为本发明实施例提供的一种确定所述物体与所述关联物体之间的目标区域方法的示意图;
图5为本发明实施例提供的另一种确定所述物体与所述关联物体之间的目标区域方法的流程图;
图6为本发明实施例提供的一种第一地图中物体C与物体D之间的位置关系的示意图;
图7为本发明实施例提供的另一种确定所述物体与所述关联物体之间的目标区域方法的示意图;
图8为本发明实施例提供的一种确定所述边界区域与所述第三边缘之间的目标区域方法的流程图;
图9为本发明实施例提供的一种地图数据处理装置的结构示意图;
图10为本发明实施例提供的另一种地图数据处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
下面将结合附图1-附图8,对本发明实施例提供的一种地图数据处理方法进行详细介绍。
请参见图1,为本发明实施例提供的一种地图数据处理方法的流程示意图。如图1所示,本发明实施例的所述地图数据处理方法可以包括以下步骤S101-步骤S104。
S101,加载显示第一地图,所述第一地图包括第一移动区域和至少两个物体;
S102,针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体;
S103,确定所述物体与所述关联物体之间的目标区域;
在本实施例中,第一地图是指游戏场景地图,第一地图包括第一移动区域和至少两个物体,所述至少两个物体包括所述第一地图包含的至少三个边界区域和/或所述第一地图中包含的至少一个障碍物区域,所述障碍物区域为多边形区域。边界区域是指第一地图的边界,比如,该第一地图是四边形,则第一地图包含四个边界区域,分别是第一地图的四条边界。
其中,第一移动区域是指目标物体可以通行的区域,至少一个物体是指阻挡目标物体不能通行的物体,即障碍物,目标物体是指游戏运行中被玩家控制的虚拟角色或者其他游戏虚拟角色。加载显示第一地图后,可以根据目标物体是否能通过的标准,将第一地图中的区域划分为可移动区域和至少一个障碍物,以及获取该第一地图的至少三个边界区域。其中,针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,关联物体与所述物体相邻,且所述关联物体的位置与所述物体的位置之间的距离小于目标物体的最大直径,所述关联物体属于所述至少两个物体中的物体,所述物体、所述关联物体以及所述目标区域之间存在连通关系,目标区域是所述第一移动区域中的部分区域。某一个物体与关联物体相邻是指该两个物体之间不存在其他障碍物,而仅仅包含可以通行的移动区域。目标区域是该物体和该关联物体之间的移动区域,目标区域的形状不作限定,例如可以是矩形区域。物体、所述关联物体以及所述目标区域之间存在连通关系,是指该目标区域分别连接该物体和该关联物体,导致目标物体无法从该物体和该关联物体之间的移动区域通过。
如图2所示,为本发明实施例提供的一种确定与所述物体关联的关联物体方法的流程图,如图所示,本发明实施例的所述确定与所述物体关联的关联物体方法可以包括以下步骤S21-步骤S23。
S21,针对所述至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的N个第一边缘;
在本发明实施例中,至少两个物体包括所述第一地图中包含的至少两个障碍物区域,至少两个障碍物区域中的每个障碍物区域都包含N个第一边缘,N为大于2的整数。其中,可以根据每个障碍物区域中的第一边缘是否存在关联的第二边缘确定障碍物区域的关联物体。
如图3所示,为本发明实施例提供的一种第一地图中物体A与物体B之间的位置关系的示意图。图3中所示的物体A与物体B为第一地图中的两个障碍物区域,障碍物区域A与障碍物区域B相邻。如图所示,障碍物区域A包含4个第一边缘,即A0A1、A1A2、A2A3、A3A0;障碍物区域B包含三个第一边缘,即b0b1、b1b2、b2b0。需要说明的是,第一地图中还包括其他障碍物区域,障碍物区域A与障碍物区域B的周围也还有其他相邻的其他障碍物区域,在此不再一一画出。第一地图中除至少两个物体所在的区域外的其他区域为目标物体可以移动的区域,如图3所示障碍物区域A中的第一边缘A0A1与障碍物区域B的第一边缘b2b1、第一边缘b2b0之间的区域为可移动区域。
S22,针对所述N个第一边缘中的每个第一边缘,确定与所述第一边缘关联的第二边缘;
S23,将所述第二边缘对应的障碍物区域确定为所述第一边缘对应的障碍物区域的关联物体。
其中,第二边缘与所述第一边缘相邻,所述第二边缘是与所述障碍物区域相邻的障碍物区域的边缘,且所述第二边缘与所述第一边缘之间的距离小于所述目标物体的最大直径。需要说明的是,障碍物区域相邻是指,该两个障碍物之间不存在其他障碍物,而仅仅包含目标物体可以通过的移动区域。
基于图3所示的两个障碍物区域,如图4所示,障碍物区域A有四个第一边缘A0A1、A1A2、A2A3、A3A0。其中,将所述障碍物区域A的第一边缘A0A1对应的端点A1标记为p0,将另一个端点A2标记为p1。其中,由p0到p1方向的右边为可移动区域,然后根据目标物体的最大直径范围,获得一个矩形区域p0p1p2p3,其中,矩形区域p0p1p2p3中p0p3的宽度为目标物体的最大直径范围,在该矩形区域p0p1p2p3范围内目标物体不能通行。计算是否存在与该矩形区域p0p1p2p3相交的其他障碍物区域的边缘,确定与所述第一边缘关联的第二边缘。如图4所示,在根据障碍物物体A的第一边缘A0A1获得的矩形区域p0p1p2p3中,存在与矩形区域p0p1p2p3相交的其他障碍物区域的第一边缘b2b0、第一边缘b2b1,即第一边缘b2b0、第一边缘b2b1为与第一边缘关联的第二边缘。在图3可以看出,该第一边缘b2b0、第一边缘b2b1是障碍物区域B的两个第一边缘,则确定第二边缘对应的障碍物区域B确定为所述第一边缘对应的障碍物区域A的关联物体。
可选的,如图4所示,为本发明实施例提供的一种确定所述物体与所述关联物体之间的目标区域方法的示意图,确定所述物体与所述关联物体之间的目标区域方法可以为:
根据所述第一边缘的位置、所述第二边缘的位置以及所述目标物体的最大直径,确定所述第一边缘与所述第二边缘之间的目标区域,所述第一边缘、所述第二边缘以及所述目标区域之间存在连通关系。
如图4所示,确定与第一边缘A0A1关联的第二边缘b1b2、第二边缘b2b0之后,获取第二边缘b1b2与矩形区域p0p1p2p3相交的部分向p0p1映射得到的区域,即b2q1线段向p0p1映射得到的区域,该区域为第一边缘A0A1与第二边缘b1b2之间的目标区域;以及获取第二边缘b2b0与矩形区域p0p1p2p3相交的部分向p0p1映射得到的区域,即b2q2线段向p0p1映射得到的区域,该区域为第一边缘A0A1与第二边缘b2b0之间的目标区域。将该线段b2q1向p0p1映射得到的区域和线段b2q2向p0p1映射得到的区域为障碍物区域A与关联障碍物区域B之间的目标区域,如图4所示,划分格子的区域即是目标区域。其中,障碍物区域A、障碍物区域B与目标区域之间是相互连通的,如图4所示,第二边缘b1b2、第二边缘b2b0所在的障碍物区域与目标区域相连,目标区域与第一边缘A0A1相连。在进行此操作的时候,需要过滤A0A1所在障碍物区域A的其他第一边缘,防止得到与A0A1关联的第二边缘是本障碍物区域中的其他第一边缘。
可选的,可以遍历地图中的所有障碍物区域中的每一条第一边缘,判断每一条第一边缘是否在第一地图的边界区域上,若不在,则将不在边界区域上的每一条第一边缘加入一个四叉树qt0中。其中,若第一边缘在边界区域上,则该第一边缘的两边的区域目标物体均不可以移动,所以不用进行计算。将不在边界区域上的每一条第一边缘加入四叉树后,就可以直接在第一边缘所在的象限内计算与该第一边缘关联的第二边缘,可以帮助我们减少不必要的查询和计算,提高计算效率。
需要说明的是,可以通过上述所述的计算方法对第一地图中所有障碍物区域中的每一个第一边缘进行计算,获取每一个第一边缘对应的第二边缘,再获取每一个第一边缘与其关联的第二边缘之间的目标区域。本发明实施例中只是计算了第一地图中的障碍物区域A的第一边缘A0A1,在障碍物区域B中关联的第二边缘b1b2、第二边缘b2b0,与障碍物区域A的第一边缘A0A1关联的第二边缘还有可能是其他障碍物区域中的第一边缘,以上述的方法计算就会获取,在此不再累述。
可选的,如图2所示,为本发明实施例提供的另一种确定所述物体与所述关联物体之间的目标区域方法的流程图,如图所示,本发明实施例的所述确定与所述物体关联的关联物体方法可以包括以下步骤S31-步骤S33。
S31,针对至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的M个第一顶点;
在本发明实施例中,至少两个障碍物区域中的每个障碍物区域都包含N个第一顶点,N为大于2的整数。
如图6所示,为本发明实施例提供的一种第一地图中物体C与物体D之间的位置关系的示意图。图2中展示了物体C与物体D在第一地图中所在区域位置,障碍物区域C与障碍物区域D相邻。如图所示,障碍物区域C包含4个第一顶点,即c0、c1、c2、c3;障碍物区域D包含三个第一顶点,即d0、d1、d2。需要说明的是,第一地图中还包括其他障碍物区域,障碍物区域C与障碍物区域D的周围也还有其他相邻的其他障碍物区域,在此不一一画出。
S32,针对所述M个第一顶点中的每个第一顶点,确定与所述第一顶点关联的第二顶点,所述第二顶点与所述第一顶点相邻,所述第二顶点是与所述障碍物区域相邻的障碍物区域的顶点,且所述第二顶点与所述第一顶点之间的距离小于所述目标物体的最大直径;
S33,将所述第二顶点对应的障碍物区域确定为所述第一顶点对应的障碍物区域的关联物体。
在本发明实施例中,针对第一地图中每个障碍物区域中的每一个第一顶点,以所要计算的第一顶点为一个圆的中心,目标物体的最大直径为半径,计算出一个圆形区域,获取在圆形区域内的其他障碍物区域的第一顶点,将在圆形区域内的其他障碍物区域的第一顶点确定为所要计算的第一顶点关联的第二顶点。如图6所示,根据障碍物区域C的第一顶点c1计算出来圆形区域中,存在一个障碍物区域D中的第一顶点d2,则障碍物区域D的顶点d2为障碍物区域C的第一顶点关联的第二顶点。该第二顶点d2与第一顶点c1相邻,第二顶点d2是与第一顶点所在障碍物区域C相邻的障碍物区域D中的顶点,则将第二顶点d2所在的障碍物区域D确定为第一顶点c1对应的障碍物区域的关联物体。其中,在第一顶点进行计算获取关联的第二顶点时,需要过滤点第一顶点对应的障碍物区域中的其他第一顶点。
可选的,同样的,可以遍历地图中的所有障碍物区域中的每一个第一顶点,判断每一个第一顶点是否在第一地图的边界区域上,若不在,则将不在边界区域上的每一个第一顶点加入另一个四叉树qt1中。其中,若第一顶点在边界区域上,第一顶点所在的障碍物区域是与边界区域相连的,目标物体是不能通行的,所以不用进行计算。将不在边界区域上的每一个第一顶点加入四叉树后,就可以直接在第一顶点所在的象限内计算与该第一顶点关联的第二顶点,可以帮助我们减少不必要的查询和计算,提高计算效率。
需要说明的是,图6中只展示的第一地图中的障碍物区域C与障碍物区域D,计算了障碍物区域C中的一个第一顶点c1在相邻的障碍物区域D中关联的第二顶点d2,障碍物区域C中的第一顶点c1可能在其他障碍物区域中也存在关联的第二顶点,根据上述的计算方法可以计算出与第一顶点c1关联的其他第二顶点在此不再累述。
可选的,如图7所示,本发明实施例提供的另一种确定所述物体与所述关联物体之间的目标区域方法的示意图,确定所述物体与所述关联物体之间的目标区域方法可以为:
根据所述第一顶点的位置、所述第二顶点的位置以及所述目标物体的最大直径,确定所述第一顶点与所述第二顶点之间的目标区域,所述第一顶点、所述第二顶点以及所述目标区域之间存在连通关系。
可选的,可以将每个障碍物区域的第一顶点作为中心,目标物体的最大直径为半径,计算出一个圆形区域,在圆形区域内获取与第一顶点关联的第二顶点之后,在第一顶点与第二顶点之间增加一个区域,将增加的区域作为第一顶点与第二顶点之间的目标区域。
如图7所示,障碍物区域C有四个第一顶点A0、A1、A2、A3。其中,可以将障碍物区域C中的一个第一顶点作为中心,目标物体的最大直径为半径,计算出一个圆形区域,获取在圆形区域内的障碍物区域D的顶点d2之后,即确定第一顶点c1关联的第二顶点d2之后,在第一顶点c1与第二顶点d2之间增加一个区域,该区域可以是矩形区域,则该区域为第一顶点c1与第二顶点d2之间的目标区域。其中,如图7所示,第一顶点c1与第二顶点d2,以及第一顶点c1与第二顶点d2之间的目标区域之间是相互连通的。则障碍物区域C与关联障碍物区域D之间的目标区域为第一顶点c1与第二顶点d2之间的目标区域。
需要说明的是,在第一顶点c1与第二顶点d2之间增加的一个区域的形状可以是矩形,也可以是其他形状,其大小也可以根据需求自定义,本发明实施例中不作限制。
如图8所示,为本发明实施例提供的一种确定所述边界区域与所述第三边缘之间的目标区域方法的流程图,如图所示,本发明实施例的所述确定所述边界区域与所述第三边缘之间的目标区域方法可以包括以下步骤S41-步骤S43。
S41,针对所述至少三个边界区域中的每个边界区域,确定与所述边界区域关联的第三边缘,所述第三边缘与所述边界区域相邻,所述第三边缘是与所述边界区域相邻的障碍物区域的边缘,且所述第三边缘与所述边界区域之间的距离小于所述目标物体的最大直径;
S42,将所述第三边缘对应的障碍物区域确定为所述边界区域的关联物体;
S43,根据所述边界区域的位置、所述第三边缘的位置以及所述目标物体的最大直径,确定所述边界区域与所述第三边缘之间的目标区域,所述边界区域、所述第三边缘以及所述目标区域之间存在连通关系。
在本发明实施例中,可以参看图3中关于确定与第一边缘关联的第二边缘所描述的计算方法。其中,可以遍历第一地图中的每一条边界区域,同样的以一个边界区域中一个端点标记为p0,另一个端点标记为p1,其中,由p0到p1方向的右边为可移动区域,根据目标物体的最大直径计算出一个矩形区域,确定该矩形区域中是否存在相交的第三边缘,若存在与该边界区域对应的矩形区域p0p1p2p3相交的第三边缘,则将所述第三边缘对应的障碍物区域确定为所述边界区域的关联物体。同样的,可以根据所述边界区域的位置、所述第三边缘的位置以及所述目标物体的最大直径,确定所述边界区域与所述第三边缘之间的目标区域,即可以将第三边缘与边界区域对应的矩形区域p0p1p2p3相交的部分向p0p1映射得到目标区域。具体内容可以参看图3所所描述的内容,在此不再赘述。
S104,根据第二移动区域,计算所述目标物体的导航路径,所述第二移动区域是所述第一移动区域中除所述目标区域外的区域。
在本发明实施例中,可以根据第二移动区域,计算所述目标物体的导航路径,所述第二移动区域是所述第一移动区域中除所述目标区域外的区域。其中,物体与关联物体之间的目标区域是目标物体不能通过的区域。
可选的,获取第一地图中所有障碍物区域之间的目标区域之后,可以将所有障碍物区域之间的目标区域填充为障碍物。将所有障碍物区域之间的目标区域填充为障碍物之后。其中,将物体与关联物体之间的目标区域填充为障碍物区域之后,可能就会产生至少一个物体围成的孤岛,该孤岛四周为障碍物或者边界区域,中间为目标物体可以通行的区域,此时,需要将产生的孤岛标记为障碍物区域。先将第一地图中目标物体不能通过的区域填充为障碍物之后,再对第一地图中的目标物体可以移动的区域进行网格划分,此时得到的可移动区域导航网格中都是目标物体可以通过的路径,在划分好的可移动区域导航网格中计算目标物体的导航路径,就不会存在计算得到的路径太窄,导致目标物体不能通过而产生寻路计算结果无解的情况,导致计算效率很低。因此在计算与障碍物区域的第一边缘或者第一顶点的时候,需要过滤本障碍物区域中的第一边缘或者第一顶点,因为障碍物本身是不能通行的,所以不用进行填充障碍物。
在本实施例中,通过加载显示第一地图,所述第一地图包括第一移动区域和至少两个物体,针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,确定所述物体与所述关联物体之间的目标区域,根据第二移动区域,计算所述目标物体的导航路径。采用本发明的技术方案,在第一地图中将所述目标物体不能通过的目标区域排除,根据所述第一移动区域中除目标区域外的第二移动区域,可以快速计算出所述目标物体的导航路径,提高了计算效率。
请参见图9,为本发明实施例提供了一种地图数据处理装置的结构示意图。如图9所示,本发明实施例的所述一种地图数据处理装置可以包括:
加载模块11,用于加载显示第一地图,所述第一地图包括第一移动区域和至少两个物体;
第一确定模块12,用于针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,所述关联物体与所述物体相邻,且所述关联物体的位置与所述物体的位置之间的距离小于目标物体的最大直径,所述关联物体属于所述至少两个物体中的物体;
其中,所述第一确定模块包括第一获取单元、第一确定单元、第二确定单元、第二获取单元、第三确定单元、第四确定单元、第五确定单元、第六确定单元;
第一获取单元,用于针对所述至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的N个第一边缘,所述N为大于2的整数;
第一确定单元,用于针对所述N个第一边缘中的每个第一边缘,确定与所述第一边缘关联的第二边缘,所述第二边缘与所述第一边缘相邻,所述第二边缘是与所述障碍物区域相邻的障碍物区域的边缘,且所述第二边缘与所述第一边缘之间的距离小于所述目标物体的最大直径;
第二确定单元,用于将所述第二边缘对应的障碍物区域确定为所述第一边缘对应的障碍物区域的关联物体。
第二获取单元,用于针对至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的M个第一顶点,所述M为大于2的整数;
第三确定单元,用于针对所述M个第一顶点中的每个第一顶点,确定与所述第一顶点关联的第二顶点,所述第二顶点与所述第一顶点相邻,所述第二顶点是与所述障碍物区域相邻的障碍物区域的顶点,且所述第二顶点与所述第一顶点之间的距离小于所述目标物体的最大直径;
第四确定单元,用于将所述第二顶点对应的障碍物区域确定为所述第一顶点对应的障碍物区域的关联物体。
第五确定单元,用于针对所述至少三个边界区域中的每个边界区域,确定与所述边界区域关联的第三边缘,所述第三边缘与所述边界区域相邻,所述第三边缘是与所述边界区域相邻的障碍物区域的边缘,且所述第三边缘与所述边界区域之间的距离小于所述目标物体的最大直径;
第六确定单元,用于将所述第三边缘对应的障碍物区域确定为所述边界区域的关联物体;
第二确定模块13,用于确定所述物体与所述关联物体之间的目标区域,所述物体、所述关联物体以及所述目标区域之间存在连通关系;
在本实施例中,第一地图是指游戏场景地图,第一地图包括第一移动区域和至少两个物体,所述至少两个物体包括所述第一地图包含的至少三个边界区域和/或所述第一地图中包含的至少一个障碍物区域,所述障碍物区域为多边形区域。其中,第一移动区域是指目标物体可以通行的区域,至少一个物体是指阻挡目标物体不能通行的物体,即障碍物。加载显示第一地图后,可以根据目标物体是否能通过的标准,将第一地图中的区域划分为可移动区域和至少一个障碍物,以及获取该第一地图的至少三个边界区域。其中,针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,关联物体与所述物体相邻,且所述关联物体的位置与所述物体的位置之间的距离小于目标物体的最大直径,所述关联物体属于所述至少两个物体中的物体,所述物体、所述关联物体以及所述目标区域之间存在连通关系。
如图3所示,为本发明实施例提供的一种第一地图中物体A与物体B之间的位置关系的示意图。图3中所示的物体A与物体B为第一地图中的两个障碍物区域,障碍物区域A与障碍物区域B相邻。如图所示,障碍物区域A包含4个第一边缘,即A0A1、A1A2、A2A3、A3A0;障碍物区域B包含三个第一边缘,即b0b1、b1b2、b2b0。第一地图中除至少两个物体所在的区域外的其他区域为目标物体可以移动的区域,如图3所示障碍物区域A中的第一边缘A0A1与障碍物区域B的第一边缘b2b1、第一边缘b2b0之间的区域为可移动区域。
其中,第二边缘与所述第一边缘相邻,所述第二边缘是与所述障碍物区域相邻的障碍物区域的边缘,且所述第二边缘与所述第一边缘之间的距离小于所述目标物体的最大直径。
基于图3所示的两个障碍物区域,如图4所示,障碍物区域A有四个第一边缘A0A1、A1A2、A2A3、A3A0。其中,将所述障碍物区域A的第一边缘A0A1对应的端点A1标记为p0,将另一个端点A2标记为p1。其中,由p0到p1方向的右边为可移动区域,然后根据目标物体的最大直径范围,获得一个矩形区域p0p1p2p3,其中,矩形区域p0p1p2p3中p0p3的宽度为目标物体的最大直径范围,在该矩形区域p0p1p2p3范围内目标物体不能通行。根据计算是否存在与该矩形区域p0p1p2p3相交的其他障碍物区域的边缘,确定与所述第一边缘关联的第二边缘。如图4所示,在根据障碍物物体A的第一边缘A0A1获得的矩形区域p0p1p2p3中,存在与矩形区域p0p1p2p3相交的其他障碍物区域的第一边缘b2b0、第一边缘b2b1,即第一边缘b2b0、第一边缘b2b1为与第一边缘关联的第二边缘。在图3可以看出,该第一边缘b2b0、第一边缘b2b1是障碍物区域B的两个第一边缘,则确定第二边缘对应的障碍物区域B确定为所述第一边缘对应的障碍物区域A的关联物体。
可选的,可以根据所述第一边缘的位置、所述第二边缘的位置以及所述目标物体的最大直径,确定所述第一边缘与所述第二边缘之间的目标区域,所述第一边缘、所述第二边缘以及所述目标区域之间存在连通关系。
如图4所示,确定与第一边缘A0A1关联的第二边缘b1b2、第二边缘b2b0之后,获取第二边缘b1b2与矩形区域p0p1p2p3相交的部分向p0p1映射得到的区域,即b2q1线段向p0p1映射得到的区域,该区域为第一边缘A0A1与第二边缘b1b2之间的目标区域;以及获取第二边缘b2b0与矩形区域p0p1p2p3相交的部分向p0p1映射得到的区域,即b2q2线段向p0p1映射得到的区域,该区域为第一边缘A0A1与第二边缘b2b0之间的目标区域。将该线段b2q1向p0p1映射得到的区域和线段b2q2向p0p1映射得到的区域为障碍物区域A与关联障碍物区域B之间的目标区域,如图4所示,划分格子的区域即是目标区域。其中,障碍物区域A、障碍物区域B与目标区域之间是相互连通的,如图4所示,第二边缘b1b2、第二边缘b2b0所在的障碍物区域与目标区域相连,目标区域与第一边缘A0A1相连。在进行此操作的时候,需要过滤A0A1所在障碍物区域A的其他第一边缘,防止得到与A0A1关联的第二边缘是本障碍物区域中的其他第一边缘。
可选的,可以将不在边界区域上的每一条第一边缘加入四叉树后,就可以直接在第一边缘所在的象限内计算与该第一边缘关联的第二边缘,可以帮助我们减少不必要的查询和计算,提高计算效率。
在本发明实施例中,至少两个障碍物区域中的每个障碍物区域都包含N个第一顶点,N为大于2的整数。
如图6所示,为本发明实施例提供的一种第一地图中物体C与物体D之间的位置关系的示意图。图2中展示了物体C与物体D在第一地图中所在区域位置,障碍物区域C与障碍物区域D相邻。如图所示,障碍物区域C包含4个第一顶点,即c0、c1、c2、c3;障碍物区域D包含三个第一顶点,即d0、d1、d2。
在本发明实施例中,针对第一地图中每个障碍物区域中的每一个第一顶点,以所要计算的第一顶点为一个圆的中心,目标物体的最大直径为半径,计算出一个圆形区域,获取在圆形区域内的其他障碍物区域的第一顶点,将在圆形区域内的其他障碍物区域的第一顶点确定为所要计算的第一顶点关联的第二顶点。如图6所示,根据障碍物区域C的第一顶点c1计算出来圆形区域中,存在一个障碍物区域D中的第一顶点d2,则障碍物区域D的顶点d2为障碍物区域C的第一顶点关联的第二顶点。该第二顶点d2与第一顶点c1相邻,第二顶点d2是与第一顶点所在障碍物区域C相邻的障碍物区域D中的顶点,则将第二顶点d2所在的障碍物区域D确定为第一顶点c1对应的障碍物区域的关联物体。其中,在第一顶点进行计算获取关联的第二顶点时,需要过滤点第一顶点对应的障碍物区域中的其他第一顶点。
可选的,同样的,将不在边界区域上的每一个第一顶点加入四叉树后,就可以直接在第一顶点所在的象限内计算与该第一顶点关联的第二顶点,可以帮助我们减少不必要的查询和计算,提高计算效率。
可选的,如图7所示,本发明实施例提供的另一种确定所述物体与所述关联物体之间的目标区域方法的示意图,确定所述物体与所述关联物体之间的目标区域方法可以为:
根据所述第一顶点的位置、所述第二顶点的位置以及所述目标物体的最大直径,确定所述第一顶点与所述第二顶点之间的目标区域,所述第一顶点、所述第二顶点以及所述目标区域之间存在连通关系。
可选的,可以将每个障碍物区域的第一顶点作为中心,目标物体的最大直径为半径,计算出一个圆形区域,在圆形区域内获取与第一顶点关联的第二顶点之后,在第一顶点与第二顶点之间增加一个区域,将增加的区域作为第一顶点与第二顶点之间的目标区域。
在本发明实施例中,可以参看图3中关于确定与第一边缘关联的第二边缘所描述的计算方法。其中,可以遍历第一地图中的每一条边界区域,同样的以一个边界区域中一个端点标记为p0,另一个端点标记为p1,其中,由p0到p1方向的右边为可移动区域,根据目标物体的最大直径计算出一个矩形区域,确定该矩形区域中是否存在相交的第三边缘,若存在与该边界区域对应的矩形区域p0p1p2p3相交的第三边缘,则将所述第三边缘对应的障碍物区域确定为所述边界区域的关联物体。同样的,可以根据所述边界区域的位置、所述第三边缘的位置以及所述目标物体的最大直径,确定所述边界区域与所述第三边缘之间的目标区域,即可以将第三边缘与边界区域对应的矩形区域p0p1p2p3相交的部分向p0p1映射得到目标区域。具体内容可以参看图3所所描述的内容,在此不再赘述。
第一计算模块14,用于根据第二移动区域,计算所述目标物体的导航路径,所述第二移动区域是所述第一移动区域中除所述目标区域外的区域。
在本发明实施例中,可以根据第二移动区域,计算所述目标物体的导航路径,所述第二移动区域是所述第一移动区域中除所述目标区域外的区域。其中,物体与关联物体之间的目标区域是目标物体不能通过的区域。
可选的,获取第一地图中所有障碍物区域之间的目标区域之后,可以将所有障碍物区域之间的目标区域填充为障碍物。将所有障碍物区域之间的目标区域填充为障碍物之后。其中,将物体与关联物体之间的目标区域填充为障碍物区域之后,可能就会产生至少一个物体围成的孤岛,该孤岛四周为障碍物或者边界区域,中间为目标物体可以通行的区域,此时,需要将产生的孤岛标记为障碍物区域。先将第一地图中目标物体不能通过的区域填充为障碍物之后,再对第一地图中的目标物体可以移动的区域进行网格划分,此时得到的可移动区域导航网格中都是目标物体可以通过的路径,在划分好的可移动区域导航网格中计算目标物体的导航路径,就不会存在计算得到的路径太窄,导致目标物体不能通过而产生寻路计算结果无解的情况,导致计算效率很低。
具体内容可以参看图1所述的内容,在此不再累述。
在本实施例中,通过加载显示第一地图,所述第一地图包括第一移动区域和至少两个物体,针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,确定所述物体与所述关联物体之间的目标区域,根据第二移动区域,计算所述目标物体的导航路径。采用本发明的技术方案,在第一地图中将所述目标物体不能通过的目标区域排除,根据所述第一移动区域中除目标区域外的第二移动区域,可以快速计算出所述目标物体的导航路径,提高了计算效率。
请参照图10,为本发明实施例提供的另一种地图数据处理装置的结构示意图,如图10所示,所述地图数据处理装置1000可以包括:至少一个处理器1001,例如CPU,至少一个通信接口1003,存储器1004,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。通信接口1003可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(NoN-volAtileMeMory),例如至少一个磁盘存储器。存储器1004可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、网络通信模块以及程序指令。
在图10所示的地图数据处理装置1000中,处理器1001可以用于加载存储器1004中存储的程序指令,并具体执行以下操作:
加载显示第一地图,所述第一地图包括第一移动区域和至少两个物体;
针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,所述关联物体与所述物体相邻,且所述关联物体的位置与所述物体的位置之间的距离小于目标物体的最大直径,所述关联物体属于所述至少两个物体中的物体;
确定所述物体与所述关联物体之间的目标区域,所述物体、所述关联物体以及所述目标区域之间存在连通关系,所述目标区域是所述第一移动区域中的部分区域;
根据第二移动区域,计算所述目标物体的导航路径,所述第二移动区域是所述第一移动区域中除所述目标区域外的区域。
在一种可能实现的实施中,至少两个物体包括所述第一地图包含的至少三个边界区域和/或所述第一地图中包含的至少一个障碍物区域,所述障碍物区域为多边形区域。
在一种可能实现的实施中,所述至少两个物体包括所述第一地图中包含的至少两个障碍物区域;
所述针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,包括:
针对所述至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的N个第一边缘,所述N为大于2的整数;
针对所述N个第一边缘中的每个第一边缘,确定与所述第一边缘关联的第二边缘,所述第二边缘与所述第一边缘相邻,所述第二边缘是与所述障碍物区域相邻的障碍物区域的边缘,且所述第二边缘与所述第一边缘之间的距离小于所述目标物体的最大直径;
将所述第二边缘对应的障碍物区域确定为所述第一边缘对应的障碍物区域的关联物体。
在一种可能实现的实施中,所述确定所述物体与所述关联物体之间的目标区域,包括:
根据所述第一边缘的位置、所述第二边缘的位置以及所述目标物体的最大直径,确定所述第一边缘与所述第二边缘之间的目标区域,所述第一边缘、所述第二边缘以及所述目标区域之间存在连通关系。
在一种可能实现的实施中,所述至少两个物体包括所述第一地图中包含的至少两个障碍物区域;
所述针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,包括:
针对至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的M个第一顶点,所述M为大于2的整数;
针对所述M个第一顶点中的每个第一顶点,确定与所述第一顶点关联的第二顶点,所述第二顶点与所述第一顶点相邻,所述第二顶点是与所述障碍物区域相邻的障碍物区域的顶点,且所述第二顶点与所述第一顶点之间的距离小于所述目标物体的最大直径;
将所述第二顶点对应的障碍物区域确定为所述第一顶点对应的障碍物区域的关联物体。
在一种可能实现的实施中,所述确定所述物体与所述关联物体之间的目标区域,包括:
根据所述第一顶点的位置、所述第二顶点的位置以及所述目标物体的最大直径,确定所述第一顶点与所述第二顶点之间的目标区域,所述第一顶点、所述第二顶点以及所述目标区域之间存在连通关系。
在一种可能实现的实施中,所述至少两个物体包括所述第一地图包含的至少三个边界区域和所述第一地图中包含的至少一个障碍物区域;
所述针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,包括:
针对所述至少三个边界区域中的每个边界区域,确定与所述边界区域关联的第三边缘,所述第三边缘与所述边界区域相邻,所述第三边缘是与所述边界区域相邻的障碍物区域的边缘,且所述第三边缘与所述边界区域之间的距离小于所述目标物体的最大直径;
将所述第三边缘对应的障碍物区域确定为所述边界区域的关联物体;
所述确定所述物体与所述关联物体之间的目标区域,包括:
根据所述边界区域的位置、所述第三边缘的位置以及所述目标物体的最大直径,确定所述边界区域与所述第三边缘之间的目标区域,所述边界区域、所述第三边缘以及所述目标区域之间存在连通关系。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1所示实施例的方法步骤,具体执行过程可以参见图1所示实施例的具体说明,在此不进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ReAd-ONly MeMory,ROM)或随机存储记忆体(RANdoMAccessMeMory,RAM)等。
Claims (14)
1.一种地图数据处理方法,其特征在于,包括:
加载显示第一地图,所述第一地图包括第一移动区域和至少两个物体,所述至少两个物体包括所述第一地图中包含的至少两个障碍物区域;
针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,包括:针对所述至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的N个第一边缘,所述N为大于2的整数,针对所述N个第一边缘中的每个第一边缘,确定与所述第一边缘关联的第二边缘,所述第二边缘与所述第一边缘相邻,所述第二边缘是与所述障碍物区域相邻的障碍物区域的边缘,且所述第二边缘与所述第一边缘之间的距离小于目标物体的最大直径,将所述第二边缘对应的障碍物区域确定为所述第一边缘对应的障碍物区域的关联物体,所述关联物体与所述物体相邻,且所述关联物体的位置与所述物体的位置之间的距离小于目标物体的最大直径,所述关联物体属于所述至少两个物体中的物体;
其中,所述确定与所述第一边缘关联的第二边缘包括:根据所述第一边缘以及目标物体的最大直径范围,获得一个矩形区域,其中,所述矩形区域的宽度为目标物体的最大直径范围,在所述矩形区域范围内所述目标物体不能通行;计算是否存在与该矩形区域相交的障碍物区域的边缘,当存在时,确定与所述第一边缘关联的第二边缘,所述第二边缘对应的障碍物区域为所述关联物体;
确定所述物体与所述关联物体之间的目标区域,所述物体、所述关联物体以及所述目标区域之间存在连通关系,所述目标区域是所述第一移动区域中的部分区域,包括:获取所述第二边缘与所述矩形区域相交的部分向第一边缘映射得到的目标区域;
根据第二移动区域,计算所述目标物体的导航路径,所述第二移动区域是所述第一移动区域中除所述目标区域外的区域。
2.如权利要求1所述的方法,其特征在于,所述至少两个物体包括所述第一地图包含的至少三个边界区域和/或所述第一地图中包含的至少一个障碍物区域,所述障碍物区域为多边形区域。
3.如权利要求1所述的方法,其特征在于,所述确定所述物体与所述关联物体之间的目标区域,包括:
根据所述第一边缘的位置、所述第二边缘的位置以及所述目标物体的最大直径,确定所述第一边缘与所述第二边缘之间的目标区域,所述第一边缘、所述第二边缘以及所述目标区域之间存在连通关系。
4.如权利要求2所述的方法,其特征在于,所述至少两个物体包括所述第一地图中包含的至少两个障碍物区域;
所述针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,包括:
针对至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的M个第一顶点,所述M为大于2的整数;
针对所述M个第一顶点中的每个第一顶点,确定与所述第一顶点关联的第二顶点,所述第二顶点与所述第一顶点相邻,所述第二顶点是与所述障碍物区域相邻的障碍物区域的顶点,且所述第二顶点与所述第一顶点之间的距离小于所述目标物体的最大直径;
将所述第二顶点对应的障碍物区域确定为所述第一顶点对应的障碍物区域的关联物体。
5.如权利要求4所述的方法,其特征在于,所述确定所述物体与所述关联物体之间的目标区域,包括:
根据所述第一顶点的位置、所述第二顶点的位置以及所述目标物体的最大直径,确定所述第一顶点与所述第二顶点之间的目标区域,所述第一顶点、所述第二顶点以及所述目标区域之间存在连通关系。
6.如权利要求1所述的方法,其特征在于,所述至少两个物体包括所述第一地图包含的至少三个边界区域和所述第一地图中包含的至少一个障碍物区域;
所述针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,包括:
针对所述至少三个边界区域中的每个边界区域,确定与所述边界区域关联的第三边缘,所述第三边缘与所述边界区域相邻,所述第三边缘是与所述边界区域相邻的障碍物区域的边缘,且所述第三边缘与所述边界区域之间的距离小于所述目标物体的最大直径;
将所述第三边缘对应的障碍物区域确定为所述边界区域的关联物体;
所述确定所述物体与所述关联物体之间的目标区域,包括:
根据所述边界区域的位置、所述第三边缘的位置以及所述目标物体的最大直径,确定所述边界区域与所述第三边缘之间的目标区域,所述边界区域、所述第三边缘以及所述目标区域之间存在连通关系。
7.一种地图数据处理装置,其特征在于,包括:
加载模块,用于加载显示第一地图,所述第一地图包括第一移动区域和至少两个物体,所述至少两个物体包括所述第一地图中包含的至少两个障碍物区域;
第一确定模块,用于针对所述至少两个物体中的每个物体,确定与所述物体关联的关联物体,所述关联物体与所述物体相邻,且所述关联物体的位置与所述物体的位置之间的距离小于目标物体的最大直径,所述关联物体属于所述至少两个物体中的物体;
第二确定模块,用于确定所述物体与所述关联物体之间的目标区域,所述物体、所述关联物体以及所述目标区域之间存在连通关系,所述目标区域是所述第一移动区域中的部分区域;
第一计算模块,用于根据第二移动区域,计算所述目标物体的导航路径,所述第二移动区域是所述第一移动区域中除所述目标区域外的区域;
所述第一确定模块还包括:
第一获取单元,用于针对所述至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的N个第一边缘,所述N为大于2的整数;
第一确定单元,用于针对所述N个第一边缘中的每个第一边缘,确定与所述第一边缘关联的第二边缘,所述第二边缘与所述第一边缘相邻,所述第二边缘是与所述障碍物区域相邻的障碍物区域的边缘,且所述第二边缘与所述第一边缘之间的距离小于所述目标物体的最大直径;
所述第一确定模块还用于,根据所述第一边缘以及目标物体的最大直径范围,获得一个矩形区域,其中,所述矩形区域的宽度为目标物体的最大直径范围,在所述矩形区域范围内所述目标物体不能通行;计算是否存在与该矩形区域相交的障碍物区域的边缘,当存在时,确定与所述第一边缘关联的第二边缘,所述第二边缘对应的障碍物区域为所述关联物体;
第二确定单元,用于将所述第二边缘对应的障碍物区域确定为所述第一边缘对应的障碍物区域的关联物体;
所述第二确定模块还用于,获取所述第二边缘与所述矩形区域相交的部分向第一边缘映射得到的目标区域。
8.如权利要求7所述的装置,其特征在于,所述至少两个物体包括所述第一地图包含的至少三个边界区域和/或所述第一地图中包含的至少一个障碍物区域,所述障碍物区域为多边形区域。
9.如权利要求7所述的装置,其特征在于,所述第二确定模块具体用于:
根据所述第一边缘的位置、所述第二边缘的位置以及所述目标物体的最大直径,确定所述第一边缘与所述第二边缘之间的目标区域,所述第一边缘、所述第二边缘以及所述目标区域之间存在连通关系。
10.如权利要求7所述的装置,其特征在于,所述至少两个物体包括所述第一地图中包含的至少两个障碍物区域;
所述第一确定模包括:
第二获取单元,用于针对至少两个障碍物区域中的每个障碍物区域,获取所述障碍物区域包含的M个第一顶点,所述M为大于2的整数;
第三确定单元,用于针对所述M个第一顶点中的每个第一顶点,确定与所述第一顶点关联的第二顶点,所述第二顶点与所述第一顶点相邻,所述第二顶点是与所述障碍物区域相邻的障碍物区域的顶点,且所述第二顶点与所述第一顶点之间的距离小于所述目标物体的最大直径;
第四确定单元,用于将所述第二顶点对应的障碍物区域确定为所述第一顶点对应的障碍物区域的关联物体。
11.如权利要求10所述的装置,其特征在于,所述第二确定模块还具体用于:
根据所述第一顶点的位置、所述第二顶点的位置以及所述目标物体的最大直径,确定所述第一顶点与所述第二顶点之间的目标区域,所述第一顶点、所述第二顶点以及所述目标区域之间存在连通关系。
12.如权利要求7所述的装置,其特征在于,所述至少两个物体包括所述第一地图包含的至少三个边界区域和所述第一地图中包含的至少一个障碍物区域;
所述第一确定模块包括:
第五确定单元,用于针对所述至少三个边界区域中的每个边界区域,确定与所述边界区域关联的第三边缘,所述第三边缘与所述边界区域相邻,所述第三边缘是与所述边界区域相邻的障碍物区域的边缘,且所述第三边缘与所述边界区域之间的距离小于所述目标物体的最大直径;
第六确定单元,用于将所述第三边缘对应的障碍物区域确定为所述边界区域的关联物体;
所述第二确定模块还具体用于:
根据所述边界区域的位置、所述第三边缘的位置以及所述目标物体的最大直径,确定所述边界区域与所述第三边缘之间的目标区域,所述边界区域、所述第三边缘以及所述目标区域之间存在连通关系。
13.一种地图数处理装置,其特征在于,包括处理器、存储器以及通信接口,所述处理器、存储器和通信接口相互连接,其中,所述通信接口用于接收和发送数据,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行如权利要求1至6任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911244227.XA CN111035930B (zh) | 2019-12-06 | 2019-12-06 | 地图数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911244227.XA CN111035930B (zh) | 2019-12-06 | 2019-12-06 | 地图数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111035930A CN111035930A (zh) | 2020-04-21 |
CN111035930B true CN111035930B (zh) | 2024-04-19 |
Family
ID=70234828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911244227.XA Active CN111035930B (zh) | 2019-12-06 | 2019-12-06 | 地图数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111035930B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667648A (zh) * | 2020-12-21 | 2021-04-16 | 北京像素软件科技股份有限公司 | 地形动态更新方法、装置、电子设备和可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843253A (zh) * | 2016-04-08 | 2016-08-10 | 北京博瑞空间科技发展有限公司 | 无人机的路径规划方法及系统 |
CN106600697A (zh) * | 2016-12-13 | 2017-04-26 | 东北大学 | 一种面向3d场景的导航网格地图表示方法 |
WO2018130135A1 (zh) * | 2017-01-13 | 2018-07-19 | 腾讯科技(深圳)有限公司 | 一种控制模拟对象寻路的方法、装置及服务器 |
CN108592912A (zh) * | 2018-03-24 | 2018-09-28 | 北京工业大学 | 一种基于激光雷达的室内移动机器人自主探索方法 |
CN108646765A (zh) * | 2018-07-25 | 2018-10-12 | 齐鲁工业大学 | 基于改进a*算法的四足机器人路径规划方法及系统 |
CN109917791A (zh) * | 2019-03-26 | 2019-06-21 | 深圳市锐曼智能装备有限公司 | 移动装置自动探索构建地图的方法 |
CN110470308A (zh) * | 2019-09-06 | 2019-11-19 | 北京云迹科技有限公司 | 一种避障系统及方法 |
-
2019
- 2019-12-06 CN CN201911244227.XA patent/CN111035930B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843253A (zh) * | 2016-04-08 | 2016-08-10 | 北京博瑞空间科技发展有限公司 | 无人机的路径规划方法及系统 |
CN106600697A (zh) * | 2016-12-13 | 2017-04-26 | 东北大学 | 一种面向3d场景的导航网格地图表示方法 |
WO2018130135A1 (zh) * | 2017-01-13 | 2018-07-19 | 腾讯科技(深圳)有限公司 | 一种控制模拟对象寻路的方法、装置及服务器 |
CN108592912A (zh) * | 2018-03-24 | 2018-09-28 | 北京工业大学 | 一种基于激光雷达的室内移动机器人自主探索方法 |
CN108646765A (zh) * | 2018-07-25 | 2018-10-12 | 齐鲁工业大学 | 基于改进a*算法的四足机器人路径规划方法及系统 |
CN109917791A (zh) * | 2019-03-26 | 2019-06-21 | 深圳市锐曼智能装备有限公司 | 移动装置自动探索构建地图的方法 |
CN110470308A (zh) * | 2019-09-06 | 2019-11-19 | 北京云迹科技有限公司 | 一种避障系统及方法 |
Non-Patent Citations (1)
Title |
---|
秦玉鑫 ; 张高峰 ; 王裕清 ; .针对复杂环境的模块化栅格地图构建算法.控制工程.2016,(10),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111035930A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109541634B (zh) | 一种路径规划方法、装置和移动设备 | |
US20150314443A1 (en) | Visual-based obstacle detection method and apparatus for mobile robot | |
KR20170001038A (ko) | 그리드 기반 지오펜싱 서비스 시스템 및 방법 | |
CN113516769A (zh) | 虚拟现实三维场景加载与渲染方法、装置和终端设备 | |
WO2018229872A1 (ja) | 地図データ格納方法及び装置 | |
CN105704195B (zh) | 确定路网分区边界线方法和设备 | |
CN111035930B (zh) | 地图数据处理方法及装置 | |
US9299182B2 (en) | Divided-area-based rendering device and divided-area-based rendering method | |
JP6087185B2 (ja) | 3次元地図表示システム | |
WO2015179289A1 (en) | Routing with data version stitching | |
US9568333B2 (en) | Method and system for selectively blending buildings to improve route visibility in a 3D navigation system | |
CN112362054A (zh) | 一种标定方法、装置、电子设备及存储介质 | |
KR20170031479A (ko) | 경로 스트로크를 수행하는 방법 및 장치 | |
KR102191861B1 (ko) | 3차원 지도 표시 시스템 | |
US10909149B2 (en) | Method and device for creating and providing a map | |
CN112859131B (zh) | 一种无人驾驶设备的定位方法及装置 | |
CN113885506A (zh) | 机器人避障方法、装置、电子设备及存储介质 | |
WO2018180285A1 (ja) | 3次元データ生成装置、3次元データ生成方法、3次元データ生成プログラム及び3次元データ生成プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN112558035B (zh) | 用于估计地面的方法和装置 | |
CN113607161B (zh) | 机器人导航路径宽度获取系统、方法、机器人及存储介质 | |
JP4646712B2 (ja) | コンピュータグラフィックス描画方法及び描画装置 | |
CN111796589A (zh) | 导航控制方法、智能仓储系统和自动引导车 | |
CN115406455A (zh) | 用于自动驾驶车辆的驾驶计划的道路网图生成方法 | |
CN115460539A (zh) | 一种获取电子围栏的方法、设备、介质及程序产品 | |
CN112614221A (zh) | 高精地图渲染方法、装置、电子设备及自动驾驶车辆 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |