确定路径的方法及装置的制造方法

文档序号:8285938阅读:278来源:国知局
确定路径的方法及装置的制造方法
【技术领域】
[0001]本发明涉及人工智能技术领域,特别涉及一种确定路径的方法及装置。
【背景技术】
[0002]目前开发的大多数游戏类应用都为用户设定了路径探索任务,需要用户在使用游戏类应用时寻找到正确的路径,以完成游戏类应用设定的任务。而通常用户在寻找路径时需要耗费较长的时间,导致用户使用游戏类应用的体验效果不佳。而人工智能作为一种利用计算机等现代化工具来模拟人类的思维和行动的技术,被广泛的应用于人们的生产实践中,尤其被应用于游戏类应用的开发设计中。因此,为了提高用户的体验效果,可采用人工智能的方式确定路径。
[0003]相关技术在确定路径时,采用如下方式:
[0004]第一步,获取由许多正方形的栅格组成的场景地图,然后以场景地图中的栅格为起点将场景地图中表征可行走的区域用三角形网格表示出来,每个三角形网格由正方形的栅格组成;
[0005]第二步,获取采用上述步骤一生成的所有三角形网格,并根据所有三角形网格生成三角形网络,进而将每个三角形网格的邻接边信息存储到其包含的所有栅格中;
[0006]第三步,确定本次待确定路径的起点和终点所属的栅格,并根据起点和终点所属栅格中存储的三角形网格的邻接边信息确定起点及终点对应的三角形网格;
[0007]第四步,获取起点所在的三角形网格的邻接边,并在起点所在的三角形网格的邻接边上选取一个到起点的距离与到终点的距离之和最小的点,并将该点作为第一个路径拐占.
[0008]第五步,获取第一个路径拐点所在的三角形网格的邻接边,在第一个路径拐点所在的三角形网格的邻接边上选取一个到路径拐点距离与到终点距离之和最小的点,并将该点作为第二个路径拐点;
[0009]第六步,采用上述方式确定第三个路径拐点、第四个路径拐点、….,直至成功确定路径;
[0010]第七步,获取起点、终点及上述确定的所有路径拐点,并将起点、路径拐点及终点依次顺序连接成一条线段,该线段即为本次确定的路径。
[0011]在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
[0012]相关技术在确定路径时,由于根据三角形网络进行确定,基于三角形网络的特性,组成三角形网络的每个三角形网格的每条边上邻接的三角形网格数量较少,导致确定路径的速度较慢;另外,由于场景地图中的栅格为正方形,基于场景地图中的栅格生成的三角形网格与场景地图中的栅格兼容性较差,导致确定的路径精度不高。

【发明内容】

[0013]为了解决相关技术的问题,本发明实施例提供了一种确定路径的方法及装置。所述技术方案如下:
[0014]一方面,提供了一种确定路径的方法,所述方法包括:
[0015]获取预先生成的矩形网络,所述矩形网络由第一预设数量个矩形网格邻接构成,每个矩形网格由正方形的栅格组成,且组成每个矩形网格的所有正方形的栅格中均存储着所述矩形网格的邻接信息,所述邻接信息至少包括所述矩形网格的属性信息及所述矩形网格的每条边上邻接的其他矩形网格的属性信息;
[0016]确定本次待确定路径的起点及终点所属的栅格,并根据所述起点及所述终点所属的栅格中存储的矩形网格的邻接信息确定所述起点在所述矩形网络中对应的矩形网格及所述终点在所述矩形网络中对应的矩形网格;
[0017]根据所述起点对应的矩形网格及所述终点对应的矩形网格确定初始路径。
[0018]另一方面,提供了一种确定路径的装置,所述装置包括:
[0019]第一获取模块,用于获取预先生成的矩形网络,所述矩形网络由第一预设数量个矩形网格邻接构成,每个矩形网格由正方形的栅格组成,且组成每个矩形网格的所有正方形的栅格中均存储着所述矩形网格的邻接信息,所述邻接信息至少包括所述矩形网格的属性信息及所述矩形网格的每条边上邻接的其他矩形网格的属性信息;
[0020]第一确定模块,用于确定本次待确定路径的起点及终点所属的栅格;
[0021]第二确定模块,用于根据所述起点及所述终点所属的栅格中存储的矩形网格的邻接信息确定所述起点在所述矩形网络中对应的矩形网格及所述终点在所述矩形网络中对应的矩形网格;
[0022]第三确定模块,用于根据所述起点对应的矩形网格及所述终点对应的矩形网格确定初始路径。
[0023]本发明实施例提供的技术方案带来的有益效果是:
[0024]通过获取预先生成的矩形网络,并确定本次待确定路径的起点及终点所属的栅格之后,根据起点及终点所属的栅格中存储的矩形网格的邻接信息确定起点在矩形网络中对应的矩形网格及终点在矩形网络中对应的矩形网格,进而根据起点对应的矩形网格及终点对应的矩形网格确定初始路径。由于矩形网格的邻接边较多且矩形网格与栅格兼容,因而提高了确定路径的速度及精度。
【附图说明】
[0025]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]图1是本发明一实施例提供的一种确定路径的方法流程图;
[0027]图2是本发明另一实施例提供的一种确定路径的方法流程图;
[0028]图3是本发明另一实施例提供的一种场景地图的示意图;
[0029]图4是本发明另一实施例提供的一种场景地图的示意图;
[0030]图5是本发明另一实施例提供的一种场景地图的示意图;
[0031]图6是本发明另一实施例提供的一种场景地图的示意图;
[0032]图7是本发明另一实施例提供的一种场景地图的示意图;
[0033]图8是本发明另一实施例提供的一种场景地图的示意图;
[0034]图9是本发明另一实施例提供的一种场景地图的示意图;
[0035]图10是本发明另一实施例提供的一种场景地图的示意图;
[0036]图11是本发明另一实施例提供的一种确定路径的装置结构图;
[0037]图12是本发明另一实施例提供的一种确定路径的装置的示意图。
【具体实施方式】
[0038]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0039]目前大多数游戏类应用在开发设计时均为用户设定了路径探索任务,而探索路径任务需要用户耗费较长的时间,导致用户的体验效果不佳,为了提升用户的体验效果,本发明实施例提供了一种确定路径的方法,该方法通过人工智能的方式为使用游戏类应用的用户确定一条路径,使得用户在使用游戏类应用时,可直接使用本发明确定的路径进行游戏互动。参见图1,本实施例提供的方法流程包括:
[0040]101:获取预先生成的矩形网络,矩形网络由第一预设数量个矩形网格邻接构成,每个矩形网格由正方形的栅格组成,且组成每个矩形网格的所有正方形的栅格中均存储着矩形网格的邻接信息,邻接信息至少包括矩形网格的属性信息及矩形网格的每条边上邻接的其他矩形网格的属性信息。
[0041]作为一种可选的实施例,获取预先生成的矩形网络,包括:
[0042]获取场景地图,场景地图由第二预设数量个正方形的栅格组成;
[0043]在场景地图的所有栅格中随机选取一个栅格,采用递归方式以选取的栅格为起点在场景地图上进行扩张,得到一个以选取的栅格为起点且面积最大的矩形网格,将面积最大的矩形网格中包含的栅格作为处理过的栅格;
[0044]依次在场景地图的所有未处理的栅格中随机选取一个未处理的栅格,采用递归方式以选取的栅格为起点在场景地图上向其他未处理的栅格所在的区域进行扩张,得到一个以选取的栅格为起点且面积最大的矩形网格,直至场景地图的所有栅格均被处理;
[0045]获取得到的所有矩形网格,并根据得到的所有矩形网格生成矩形网络。
[0046]作为一种可选的实施例,采用递归方式以选取的栅格为起点在场景地图上进行扩张,得到一个以选取的栅格为起点且面积最大的矩形网格,包括:
[0047]以选取的栅格为起点在场景地图上进行扩张,得到满足第一预设条件的第一矩形;
[0048]以第一矩形中除起点所在栅格之外的每个栅格为起点分别进行扩张,并将扩张得到的各个矩形与第一矩形进行合并,得到满足第一预设条件的第二矩形;
[0049]获取第一矩形的面积及第二矩形的面积,并将第二矩形的面积与第一矩形的面积进行比较;
[0050]若第二矩形的面积大于第一矩形的面积,则判断第二矩形是否满足第二预设条件;
[0051]如果第二矩形不满足第二预设条件,则按照对第一矩形的处理方式处理第二矩形,依次循环,直至获取到满足第二预设条件的矩形,并将满足第二预设条件的矩形作为以选取的栅格为起点且面积最大的矩形网格。
[0052]102:确定本次待确定路径的起点及终点所属的栅格,并根据起点及终点所属的栅格中存储的矩形网格的邻接信息确定起点在矩形网络中对应的矩形网格及终点在矩形网络中对应的矩形网格。
[0053]103:根据起点对应的矩形网格及终点对应的矩形网格确定初始路径。
[0054]作为一种可选的实施例,根据起点对应的矩形网格及终点对应的矩形网格确定初始路径,包括:
[0055]若起点对应的矩形网格与终点对应的矩形网格为同一个矩形网格,则直接将起点及终点进行连接,并将连接起点和终点的线段作为初始路径。
[0056]作为一种可选的实施例,根据起点对应的矩形网格及终点对应的矩形网格确定初始路径,包括:
[0057]若起点对应的矩形网格与终点对应的矩形网格为不同的矩形网格,则根据起点对应的矩形网格的邻接信息及终点对应的矩形网格的邻接信息确定初始路径。
[0058]作为一种可选的实施例,根据起点对应的矩形网格的邻接信息及终点对应的矩形网格的邻接信息确定初始路径,包括:
[0059]根据起点对应的矩形网格的邻接信息确定起点对应的矩形网格的各个邻接边;
[0060]在起点对应的矩形网格的各个邻接边中任意选取一条邻接边,并判断选取的邻接边是否满足第三预设条件;
[0061]若选取的邻接边满足第三预设条件,则在邻接边上选取一个到起点的距离与到终点的距离之和最小的点,将被选取的点作为选取的邻接边对应的路点,将路点到起点的距离与路点到终端的距离之和作为选取的邻接边对应的路径距离;
[0062]存储选取的邻接边对应的路点信息及路径距离;
[0063]按照对选取的邻接边的处理方式对起点对应的矩形网格的其他邻接边进行处理;
[0064]在起点对应的矩形网格的所有邻接边对应的路径距离中选取最小路径距离,将最小路径距离对应的邻接边对应的路点作为第一路径拐点;
[0065]判断第一路径拐点所在的矩形网格与终点所在的矩形网格是否为同一个矩形网格;
[0066]如果第一路径拐点所在的矩形网格与终点所在的矩形网格不为同一个矩形网格,则按照处理起点的方式处理第一路径拐点,直至得到所在的矩形网格与终点所在的矩形网格为同一个矩形网格的路径拐点;
[0067]获取得到的各个路径拐点,并用线段将各个路径拐点连接起来,得到初始路径。
[0068]作为一种可选的实施例,根据起点对应的矩形网格及终点对应的矩形网格确定初始路径之后,还包括:
[0069]对初始路径进行优化,得到优化后的路径。
[0070]作为一种可选的实施例,对初始路径进行优化,包括:
[0071 ] 依次从初始路径中选取连续的任意三个路径拐点,将三个路径拐点中的第一个路径拐点及第三个路径拐点相连组成一条线段;
[0072]判断由线段组成的路径能否直接到达,若由线段组成的路径能够直接到达,则将第二路径拐点删除,得到优化后的路径。
[0073]作为一种可选的实施例,判断由线段组成的路径能否直接到达,包括:
[0074]获取组成线段的两个路径拐点中任一路径拐点所在的矩形网格,并获取矩形网格邻接的矩形网格;
[0075]根据线段与矩形网格邻接的矩形网格的相交状态判断由线段组成的路径能否直接到达。
[0076]作为一种可选的实施例,根据线段与矩形网格邻接的矩形网格的相交状态判断由线段组成的路径能否直接到达,包括:
[0077]若线段与矩形网格邻接的矩形网格都不相交,则判断由线段组成的路径不能直接到达;
[0078]若线段与矩形网格邻接的矩形网格中至少有一个矩形网格相交,且交点在相交矩形网格的邻接边上,则判断线段是否与相交矩形网格的邻接矩形网格相交;
[0079]若线段与相交矩形网格邻接的矩形网格都不相交,则判断由线段组成的路径不能直接到达;
[0080]若线段与相交矩形网格邻接的矩形网格中至少有一个矩形网格相交,且交点在相交矩形网格邻接的矩形网格的邻接边上,则判断由线段组成的路径能够直接到达。
[0081]作为一种可选的实施例,得到优化后的路径之后,还包括:
[0082]确定动态阻隔物的位置,并确定起点到动态阻隔物之间的距离;
[0
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1