CN112807682B - 路径找寻方法、终端及计算机可读存储介质 - Google Patents

路径找寻方法、终端及计算机可读存储介质 Download PDF

Info

Publication number
CN112807682B
CN112807682B CN202110066005.4A CN202110066005A CN112807682B CN 112807682 B CN112807682 B CN 112807682B CN 202110066005 A CN202110066005 A CN 202110066005A CN 112807682 B CN112807682 B CN 112807682B
Authority
CN
China
Prior art keywords
point
path
node
distance
starting point
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
Application number
CN202110066005.4A
Other languages
English (en)
Other versions
CN112807682A (zh
Inventor
魏新宇
吴春琳
陈启晗
邓冬生
邱登辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shang Yu Software Shenzhen Co ltd
Original Assignee
Shang Yu Software Shenzhen Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shang Yu Software Shenzhen Co ltd filed Critical Shang Yu Software Shenzhen Co ltd
Priority to CN202110066005.4A priority Critical patent/CN112807682B/zh
Publication of CN112807682A publication Critical patent/CN112807682A/zh
Application granted granted Critical
Publication of CN112807682B publication Critical patent/CN112807682B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出的一种路径找寻方法、终端及计算机可读存储介质,所述方法包括步骤:获取地图数据中的起点和终点;根据所述起点和终点以A‑STAR算法执行寻路操作;在以所述A‑STAR算法执行寻路操作时,若迭代次数达到预设次数,则根据所述起点和终点以单源最短路径算法执行寻路操作。通过在A‑STAR算法计算到一定时间仍未求出寻路路径时,通过单源最短路径算法进行寻路操作,使得在地图较小时,直接通过A‑STAR算法计算,而在地图较大时,则转换为快速算法计算,在保证了寻路准确度的基础上,提升了寻路效率。

Description

路径找寻方法、终端及计算机可读存储介质
技术领域
本发明涉及终端控制领域,尤其涉及一种路径找寻方法、终端及计算机可读存储介质。
背景技术
寻路一直是很多游戏中一个重要的计算环节,游戏需要根据需求的起点和终点生成一条路径出来。目前2D网格游戏的主流使用寻路算法为A-STAR算法,虽然通过A-STAR算法能够计算出准确地寻路路径,但其运算所需的时间较长,尤其对于一些较大的地图而言,寻路时间会因为寻路地图成几何增大。
发明内容
本发明的主要目的在于提出一种路径找寻方法、终端及计算机可读存储介质,旨在解决现有技术中通过A-STAR算法计算寻路路径所需的时间较长的问题。
为实现上述目的,本发明提供一种路径找寻方法,所述方法包括步骤:
获取地图数据中的起点和终点;
根据所述起点和终点以A-STAR算法执行寻路操作;
在以所述A-STAR算法执行寻路操作时,若迭代次数达到预设次数,则根据所述起点和终点以单源最短路径算法执行寻路操作。
可选地,所述根据所述起点和终点以A-STAR算法执行寻路操作的步骤包括:
将所述起点加入到第一列表中;
获取所述第一列表中标记距离最小的节点,获取该节点与所述起点之间的前置节点,将该节点与所述前置节点关联后移动至第二列表中,并对迭代次数进行累加;
获取所述标记距离最小的节点对应的后继节点,判断所述后继节点中是否存在终点;
若存在终点,则以终点进行回溯操作得到所述起点至所述终点的路径,寻路操作完成;
若不存在终点,则将未在所述第一列表中的后继节点加入到第一列表中,并执行步骤:获取所述第一列表中标记距离最小的节点。
可选地,所述判断所述后继节点中是否存在终点的步骤之后还包括:
若不存在终点,则获取已在所述第一列表中的后继节点与所述起点的当前距离,并判断后继节点的当前距离是否小于标记距离;
若后继节点的当前距离小于标记距离,则将该后继节点的标记距离更新为所述当前距离,并执行步骤:获取所述第一列表中标记距离最小的节点;
若后继节点的当前距离大于或等于标记距离,则执行步骤:获取所述第一列表中标记距离最小的节点。
可选地,所述获取所述第一列表中标记距离最小的节点的步骤之前包括:
判断所述第一列表中是否存在节点;
若不存在节点,则以A-STAR算法执行寻路操作失败;
若存在节点,则执行步骤:获取所述第一列表中标记距离最小的节点。
可选地,所述标记距离的计算步骤包括:
获取所述起点至节点的移动距离,并获取节点与终点的曼哈顿距离;
将所述移动距离与所述曼哈顿距离之和作为该节点的标记距离。
可选地,所述根据所述起点和终点以单源最短路径算法执行寻路操作的步骤包括:
获取预设点阵,并在所述预设点阵中获取与所述起点直线可到达距离最近的起点邻近点,和与所述终点直线可到达距离最近的终点邻近点;
将所述起点邻近点作为单源最短路径算法的源,并根据单源最短路径算法得到所述起点邻近点到所述终点邻近点的最短路径;
将所述起点至所述起点邻近点的路径、所述最短路径,和所述终点邻近点至所述终点的路径的集合作为所述起点至所述终点的路径。
可选地,所述在所述预设点阵中获取与所述起点直线可到达距离最近的起点邻近点,和与所述终点直线可到达距离最近的终点邻近点的步骤之前包括:
判断所述预设点阵中是否存在所述起点邻近点和所述终点邻近点;
若所述预设点阵中不存在所述起点邻近点和所述终点邻近点,则继续根据所述起点和终点以A-STAR算法执行寻路操作;
若所述预设点阵中存在所述起点邻近点和所述终点邻近点,则执行步骤:在所述预设点阵中获取与所述起点直线可到达距离最近的起点邻近点,和与所述终点直线可到达距离最近的终点邻近点。
可选地,所述根据所述起点和终点以A-STAR算法执行寻路操作的步骤之前还包括:
获取所述起点至所述终点的直线路径;
判断所述直线路径所经过的节点是否均为可通行节点;
若所述直线路径所经过的节点均为可通行节点,则将所述直线路径作为所述起点至所述终点的路径;
若所述直线路径所经过的节点存在不可通行的节点,则执行步骤:根据所述起点和终点以A-STAR算法执行寻路操作。
为实现上述目的,本发明还提供一种终端,所述终端包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的路径找寻方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的路径找寻方法的步骤。
本发明提出的一种路径找寻方法、终端及计算机可读存储介质,获取地图数据中的起点和终点;根据所述起点和终点以A-STAR算法执行寻路操作;在以所述A-STAR算法执行寻路操作时,若迭代次数达到预设次数,则根据所述起点和终点以单源最短路径算法执行寻路操作。通过在A-STAR算法计算到一定时间仍未求出寻路路径时,通过单源最短路径算法进行寻路操作,使得在地图较小时,直接通过A-STAR算法计算,而在地图较大时,则转换为快速算法计算,在保证了寻路准确度的基础上,提升了寻路效率。
附图说明
图1为本发明路径找寻方法第一实施例的流程示意图;
图2为本发明路径找寻方法第三实施例步骤S30的细化流程图;
图3为本发明终端的模块结构示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种路径找寻方法,参照图1,图1为本发明路径找寻方法第一实施例的流程示意图,所述方法包括步骤:
步骤S10,获取地图数据中的起点和终点;
本实施例中的地图为2D网格地图。所述起点和终点的位置可通过基于所述地图的X轴和Y轴的坐标表示。
步骤S20,根据所述起点和终点以A-STAR算法执行寻路操作;
A-Star算法是一种在静态路网中求解最短路径最有效的直接搜索方法。
在以A-STAR算法执行寻路操作之前,需要确认所述起点和所述终点是否位于同一场景内,即从起点位置是否仅通过平移操作即可到达终点的位置。在确认起点和终点位于同一场景内时,开始以A-STAR算法执行寻路操作。
步骤S30,在以所述A-STAR算法执行寻路操作时,若迭代次数达到预设次数,则根据所述起点和终点以单源最短路径算法执行寻路操作。
单元最短路径算法是指在一个点阵中,相邻点之间的连线的距离是一个实数;另外,还给定点阵中的一个起点作为源,计算从源到其他所有各顶点的最短路径长度的算法。
所述A-STAR算法是一种迭代算法,在每一次迭代中找寻到一个以当前条件认为的离终点最近的节点;在迭代次数达到预设次数时,即说明当前获得的节点数已达到一定的数量,此时若继续以A-STAR算法执行寻路操作,则认为计算量过大,因此变更为单源最短路径算法执行寻路操作,从而节省计算时间。本实施例中的预设次数可根据实际场景进行设置。
本实施例通过在A-STAR算法计算到一定时间仍未求出寻路路径时,通过单源最短路径算法进行寻路操作,使得在地图较小时,直接通过A-STAR算法计算,而在地图较大时,则转换为快速算法计算,在保证了寻路准确度的基础上,提升了寻路效率。
进一步地,在基于本发明的第一实施例所提出的本发明路径找寻方法第二实施例中,所述步骤S20包括步骤:
步骤S21,将所述起点加入到第一列表中;
步骤S22,获取所述第一列表中标记距离最小的节点,获取该节点与所述起点之间的前置节点,将该节点与所述前置节点关联后移动至第二列表中,并对迭代次数进行累加;
步骤S23,获取所述标记距离最小的节点对应的后继节点,判断所述后继节点中是否存在终点;
步骤S24,若存在终点,则以终点进行回溯操作得到所述起点至所述终点的路径,寻路操作完成;
步骤S25,若不存在终点,则将未在所述第一列表中的后继节点加入到第一列表中,并执行步骤S22。
所述标记距离的计算步骤包括:
步骤S221,获取所述起点至节点的移动距离,并获取节点与终点的曼哈顿距离;
步骤S222,将所述移动距离与所述曼哈顿距离之和作为该节点的标记距离。
本实施例中的第一列表为openlist,第二列表为closedlist;
所述前置节点是指在当前获取到的所有节点位置关系中,某一结点距离起点的最短路径经过的所有节点。
所述起点至节点的移动距离为前置节点均为closedlist中的点时,起点至该节点的最短距离。
所述曼哈顿距离为A-STAR算法的启发函数,曼哈顿距离是指两个点在标准坐标系上的绝对轴距总和,例如,A的坐标值为(1,5),B的坐标值为(3,6),则A与B之间的曼哈顿距离|3-1|+|6-5|=3。需要说明的是,根据实际地图和游戏操作规则不同可以选择不同的距离算法作为启发函数,例如本实施例中的移动规则为只允许在上、下、左、右四个方向进行移动,因此选用曼哈顿距离作为启发函数;在其他实施例中,移动规则为允许在包含斜角的八个方向进行移动时,可以选用切比雪夫距离作为启发函数。
所述后继节点是指对于该节点而言,其下一次移动所能够到达的节点,例如,本实施例中的移动规则为只允许在上、下、左、右四个方向进行移动,所述标记距离最小的节点的坐标值为(1,5),则标记距离最小的节点在下一次移动所能够到达的节点的坐标值为(1,6)、(1,4)(2,5)和(0,5)所对应的节点,需要考虑的是,若上述四个节点中存在节点为不可通行的节点,则需要将不可通行的节点去除,将上述四个节点中的可通行节点作为所述标记距离最小的节点的后继节点。
所述回溯操作具体为,获取上一移动至第二列表中的节点至起点的第一最短路径,同时获取上一移动至第二列表中的节点至终点的第二最短路径,将第一最短路径与第二最短路径作为所述起点至所述终点的路径。
在所述步骤S23之后包括步骤:
步骤S26,若不存在终点,则获取已在所述第一列表中的后继节点与所述起点的当前距离,并判断后继节点的当前距离是否小于标记距离;
步骤S27,若后继节点的当前距离小于标记距离,则将该后继节点的标记距离更新为所述当前距离,并执行步骤:获取所述第一列表中标记距离最小的节点;
步骤S28,若后继节点的当前距离大于或等于标记距离,则执行步骤:获取所述第一列表中标记距离最小的节点。
在获取到新的后继节点时,第一列表中的各节点与起点的最短距离可能存在变化,因此需要在各节点与起点的最短距离出现变化时更新各节点与起点的最短距离;可以理解的是,在更新各节点与起点的最短距离的同时更新节点对应的前置节点。
在所述步骤S22之前包括步骤:
步骤S29,判断所述第一列表中是否存在节点;
步骤S291,若不存在节点,则以A-STAR算法执行寻路操作失败;
步骤S292,若存在节点,则执行步骤:获取所述第一列表中标记距离最小的节点。
当第一列表中不存在节点时,说明在遍历地图上所有可到达的点之后仍然未能寻找到终点,此时认为在地图中不存在从地点通向终点的路径,寻路操作失败,此时可发送失败信息提示用户。
需要说明的是,在A-STAR算法中包括几个重要的数据结构,分别为XPS_Node,用于存储节点的结构,包含了节点的坐标、移动距离、曼哈顿距离和该节点对应的前置节点等内容;XPS_Node**m_pOpenList:用于数组实现的、以总距离做权值比较的最小单元;XPS_Node*m_aBacket:用于记录加入过open list的XPS_Node哈希表,用x、y坐标值计算哈希值,解决哈希冲突的方式是将哈希值相同的XPS_Node以链表结构存储在同一数组下标上。
本实施例能够合理地以A-STAR算法执行寻路操作。
进一步地,参见图2,在基于本发明的第一实施例所提出的本发明路径找寻方法第三实施例中,所述步骤S30包括步骤:
步骤S31,获取预设点阵,并在所述预设点阵中获取与所述起点直线可到达距离最近的起点邻近点,和与所述终点直线可到达距离最近的终点邻近点;
步骤S32,将所述起点邻近点作为单源最短路径算法的源,并根据单源最短路径算法得到所述起点邻近点到所述终点邻近点的最短路径;
步骤S33,将所述起点至所述起点邻近点的路径、所述最短路径,和所述终点邻近点至所述终点的路径的集合作为所述起点至所述终点的路径。
在所述预设点阵中获取与所述起点直线可到达距离最近的起点邻近点,和与所述终点直线可到达距离最近的终点邻近点的步骤之前包括:
步骤S34,判断所述预设点阵中是否存在所述起点邻近点和所述终点邻近点;
步骤S35,若所述预设点阵中不存在所述起点邻近点和所述终点邻近点,则继续根据所述起点和终点以A-STAR算法执行寻路操作。
步骤S36,若所述预设点阵中存在所述起点邻近点和所述终点邻近点,则执行步骤:在所述预设点阵中获取与所述起点直线可到达距离最近的起点邻近点,和与所述终点直线可到达距离最近的终点邻近点。
所述预设点阵为由算法人员预先设置的固定的多个具有连接关系节点组成的网络。由于预设点阵中包含的节点远少于地图上的所有节点,因此可以实现较快的寻路速度。
所述起点邻近点需为从起点可直线到达的节点;所述终点邻近点需为从终点可直线到达的节点;还可以进一步设置邻近点阈值,只有当预设点阵中与起点或终点最近的可直线到达的节点与起点或终点的距离小于或等于所述邻近点阈值时,才将该节点作为起点邻近点或终点邻近点。
所述预设点阵中不存在所述起点邻近点和所述终点邻近点时,即所述预设点阵中同时不存在所述起点邻近点和所述终点邻近点,或是所述预设点阵中不存在所述起点邻近点或所述终点邻近点时,说明预设点阵中的节点与起点或终点的位置相差较大,通过预设点阵计算得到的起点至终点的路径与起点至终点的最短路径相差较大,因此继续以A-STAR算法执行寻路操作,以保证路径的准确性;此时,可以继续执行之前A-STAR算法暂停的步骤,避免重新开始计算而增加计算时间。
具体的以单源最短路径算法执行寻路操作的步骤可以参考现有技术实现,在此不进行赘述;本实施例中采用迪科斯彻Dijkstra算法。需要说明的是,由于单源最短路径算法是基于固定的预设点阵,因此可以预先求出预设点阵每个点至其它每个点之间的最短路径,在以单源最短路径算法执行寻路操作时,直接根据匹配到的起点邻近点与终点邻近点获取最短路径即可;当然,由于以单源最短路径算法的计算量较小,在每次以单源最短路径算法重新计算所需的时间也较少,因此,实时计算起点邻近点与终点邻近点之间的最短路径同样是可以接受的方案。
本实施例能够合理地以单源最短路径算法执行寻路操作。
进一步地,在基于本发明的第一实施例所提出的本发明路径找寻方法第四实施例中,在所述步骤S20之前包括步骤:
步骤S40,获取所述起点至所述终点的直线路径;
步骤S50,判断所述直线路径所经过的节点是否均为可通行节点;
步骤S60,若所述直线路径所经过的节点均为可通行节点,则将所述直线路径作为所述起点至所述终点的路径;
步骤S70,若所述直线路径所经过的节点存在不可通行的节点,则执行步骤S20。
本实施例在以A-STAR算法执行寻路操作之前,先检查是否能够直接从直线从起点移动至终点;具体所述起点至所述终点的直线路径的算法可以参照现有计数进行设置,在此不进行赘述;若能够直接从直线从起点移动至终点,则直接获取该直线作为所述起点至所述终点的路径。所述不可通行的节点为地图上无法移动至的节点,同样用于划分地界,或设置障碍等;例如地图边界之外、墙壁、河流、石块等。
本实施例能够在能够直接从直线从起点移动至终点时,避免进行以A-STAR算法执行寻路操作使得延长计算时间。
参照图3,在硬件结构上所述终端可以包括通信模块10、存储器20以及处理器30等部件。在所述终端中,所述处理器30分别与所述存储器20以及所述通信模块10连接,所述存储器20上存储有计算机程序,所述计算机程序同时被处理器30执行,所述计算机程序执行时实现上述方法实施例的步骤。
通信模块10,可通过网络与外部通讯设备连接。通信模块10可以接收外部通讯设备发出的请求,还可以发送请求、指令及信息至所述外部通讯设备,所述外部通讯设备可以是其它终端、服务器或者物联网设备,例如电视等等。
存储器20,可用于存储软件程序以及各种数据。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如根据所述起点和终点以A-STAR算法执行寻路操作)等;存储数据区可包括数据库,存储数据区可存储根据系统的使用所创建的数据或信息等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器30,是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器20内的软件程序和/或模块,以及调用存储在存储器20内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。处理器30可包括一个或多个处理单元;可选地,处理器30可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器30中。
尽管图3未示出,但上述终端还可以包括电路控制模块,所述电路控制模块用于与电源连接,保证其他部件的正常工作。本领域技术人员可以理解,图3中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序。所述计算机可读存储介质可以是图3的终端中的存储器20,也可以是如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干指令用以使得一台具有处理器的终端设备(可以是电视,汽车,手机,计算机,服务器,终端,或者网络设备等)执行本发明各个实施例所述的方法。
在本发明中,术语“第一”“第二”“第三”“第四”“第五”仅用于描述的目的,而不能理解为指示或暗示相对重要性,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,本发明保护的范围并不局限于此,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改和替换,这些变化、修改和替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (9)

1.一种路径找寻方法,其特征在于,所述方法包括:
获取地图数据中的起点和终点;
根据所述起点和终点以A-STAR算法执行寻路操作;
在以所述A-STAR算法执行寻路操作时,若迭代次数达到预设次数,则根据所述起点和终点以单源最短路径算法执行寻路操作,其中,所述单源最短路径算法是指基于预设点阵中的一个起点作为源,计算从源到其他所有各顶点的最短路径长度的算法;
所述根据所述起点和终点以单源最短路径算法执行寻路操作的步骤包括:
获取预设点阵,并在所述预设点阵中获取与所述起点直线可到达距离最近的起点邻近点,和与所述终点直线可到达距离最近的终点邻近点;
将所述起点邻近点作为单源最短路径算法的源,并根据单源最短路径算法得到所述起点邻近点到所述终点邻近点的最短路径;
将所述起点至所述起点邻近点的路径、所述最短路径,和所述终点邻近点至所述终点的路径的集合作为所述起点至所述终点的路径。
2.如权利要求1所述的路径找寻方法,其特征在于,所述根据所述起点和终点以A-STAR算法执行寻路操作的步骤包括:
将所述起点加入到第一列表中;
获取所述第一列表中标记距离最小的节点,获取该节点与所述起点之间的前置节点,将该节点与所述前置节点关联后移动至第二列表中,并对迭代次数进行累加;
获取所述标记距离最小的节点对应的后继节点,判断所述后继节点中是否存在终点;
若存在终点,则以终点进行回溯操作得到所述起点至所述终点的路径,寻路操作完成;
若不存在终点,则将未在所述第一列表中的后继节点加入到第一列表中,并执行步骤:获取所述第一列表中标记距离最小的节点。
3.如权利要求2所述的路径找寻方法,其特征在于,所述判断所述后继节点中是否存在终点的步骤之后还包括:
若不存在终点,则获取已在所述第一列表中的后继节点与所述起点的当前距离,并判断后继节点的当前距离是否小于标记距离;
若后继节点的当前距离小于标记距离,则将该后继节点的标记距离更新为所述当前距离,并执行步骤:获取所述第一列表中标记距离最小的节点;
若后继节点的当前距离大于或等于标记距离,则执行步骤:获取所述第一列表中标记距离最小的节点。
4.如权利要求3所述的路径找寻方法,其特征在于,所述获取所述第一列表中标记距离最小的节点的步骤之前包括:
判断所述第一列表中是否存在节点;
若不存在节点,则以A-STAR算法执行寻路操作失败;
若存在节点,则执行步骤:获取所述第一列表中标记距离最小的节点。
5.如权利要求2所述的路径找寻方法,其特征在于,所述标记距离的计算步骤包括:
获取所述起点至节点的移动距离,并获取节点与终点的曼哈顿距离;
将所述移动距离与所述曼哈顿距离之和作为该节点的标记距离。
6.如权利要求1所述的路径找寻方法,其特征在于,所述在所述预设点阵中获取与所述起点直线可到达距离最近的起点邻近点,和与所述终点直线可到达距离最近的终点邻近点的步骤之前包括:
判断所述预设点阵中是否存在所述起点邻近点和所述终点邻近点;
若所述预设点阵中不存在所述起点邻近点和所述终点邻近点,则继续根据所述起点和终点以A-STAR算法执行寻路操作;
若所述预设点阵中存在所述起点邻近点和所述终点邻近点,则执行步骤:在所述预设点阵中获取与所述起点直线可到达距离最近的起点邻近点,和与所述终点直线可到达距离最近的终点邻近点。
7.如权利要求1~6中任一项所述的路径找寻方法,其特征在于,所述根据所述起点和终点以A-STAR算法执行寻路操作的步骤之前还包括:
获取所述起点至所述终点的直线路径;
判断所述直线路径所经过的节点是否均为可通行节点;
若所述直线路径所经过的节点均为可通行节点,则将所述直线路径作为所述起点至所述终点的路径;
若所述直线路径所经过的节点存在不可通行的节点,则执行步骤:根据所述起点和终点以A-STAR算法执行寻路操作。
8.一种终端,其特征在于,所述终端包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的路径找寻方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的路径找寻方法的步骤。
CN202110066005.4A 2021-01-18 2021-01-18 路径找寻方法、终端及计算机可读存储介质 Active CN112807682B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110066005.4A CN112807682B (zh) 2021-01-18 2021-01-18 路径找寻方法、终端及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110066005.4A CN112807682B (zh) 2021-01-18 2021-01-18 路径找寻方法、终端及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN112807682A CN112807682A (zh) 2021-05-18
CN112807682B true CN112807682B (zh) 2023-06-27

Family

ID=75870108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110066005.4A Active CN112807682B (zh) 2021-01-18 2021-01-18 路径找寻方法、终端及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112807682B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114595612B (zh) * 2022-03-16 2024-05-10 上海核工程研究设计院股份有限公司 基于实体单元积分路径的受力构件的配筋计算方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199878A (zh) * 2014-08-21 2014-12-10 西安闻泰电子科技有限公司 游戏引擎最短路径搜索方法、游戏引擎系统
CN111504325B (zh) * 2020-04-29 2023-09-26 南京大学 一种基于扩大搜索邻域的加权a*算法的全局路径规划方法
CN112199584A (zh) * 2020-09-23 2021-01-08 深圳市其乐游戏科技有限公司 个性化推荐方法及终端设备、推荐设备、存储介质

Also Published As

Publication number Publication date
CN112807682A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
CN109974725B (zh) 一种路网拓扑构建方法、导航路径计算方法及装置
WO2017162036A1 (zh) 偏航识别方法、终端和存储介质
CN111375205B (zh) 游戏中寻路路径的处理方法、装置、电子设备及存储介质
CN110992681B (zh) 交通路网属性信息生成方法、装置、存储介质及电子设备
US10288437B2 (en) Routing with data version stitching
CN107367278A (zh) 一种室内导航方法及设备
CN110755848B (zh) 一种游戏中的寻路方法、终端及可读存储介质
EP1335315A2 (en) Dual Dijkstra search for planning multiple paths
CN108268971B (zh) 路径的搜索方法、装置、处理器和电子装置
KR102025433B1 (ko) 최단시간 경유경로 정보 제공 시스템, 및 방법
CN112113576B (zh) 行程路线规划方法、终端及存储介质
CN112807682B (zh) 路径找寻方法、终端及计算机可读存储介质
JP4520839B2 (ja) 地図更新システム、ナビゲーション装置、配信装置
CN113108806B (zh) 路径规划方法、装置、设备及介质
CN114254832A (zh) 一种最优巡查路径的选择方法与终端
JP6535507B2 (ja) 情報処理装置、経路探索方法、およびコンピュータプログラム
JP5132694B2 (ja) データ生成装置、データ生成方法及び経路探索装置
JP2014240920A (ja) 地図更新装置、地図更新システム及び地図の更新管理方法
JP7173310B2 (ja) 経路探索装置、経路探索方法、及び経路探索プログラム
JP6016684B2 (ja) 3次元地図表示システム
CN114677852B (zh) 道路通行状态确定方法、导航方法、装置、介质及设备
JP5135454B2 (ja) プログラム実行方法
CN114526753B (zh) 跨路口交规的关联方法及装置、计算机设备及可读存储介质
CN117553804B (zh) 路径规划方法、装置、计算机设备和存储介质
CN117928514A (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