CN115690373A - 路网生成方法、装置、计算机可读存储介质及计算机设备 - Google Patents
路网生成方法、装置、计算机可读存储介质及计算机设备 Download PDFInfo
- Publication number
- CN115690373A CN115690373A CN202211436471.8A CN202211436471A CN115690373A CN 115690373 A CN115690373 A CN 115690373A CN 202211436471 A CN202211436471 A CN 202211436471A CN 115690373 A CN115690373 A CN 115690373A
- Authority
- CN
- China
- Prior art keywords
- starting point
- route
- ray
- determining
- 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.)
- Pending
Links
Images
Abstract
本申请实施例公开一种路网生成方法、装置、计算机可读存储介质及计算机设备。方法包括:计算机设备通过确定场景区域的区域边缘及区域边缘上对应的多个入口位置;然后以每一入口位置为起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线;在场景区域内的多条第一射线中,确定出长度最长的目标第一射线为初始路线,以及初始路线对应的第一起始点;在多个起始点中确定出第一起始点之外的目标起始点,依次确定每一目标起始点发出的且与初始路线相连接的路线;最后根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网。从而实现根据场景区域的入口位置自动生成路网。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种路网生成方法、装置、计算机可读存储介质及计算机设备。
背景技术
在一些虚拟场景中,在一片区域内需要生成多种相互连接的道路,根据生成的多条道路,从而生成路网。虚拟角色可以在路网中自由活动。
但是,现有的路网生成方式往往是人工设置多条道路生成路网,并不能根据虚拟场景区域内的进出口位置自动生成对应的路网。
发明内容
本申请实施例提供一种路网生成方法、装置、计算机可读存储介质及计算机设备。该路网生成方法可以根据场景区域的入口位置自动生成路网。
第一方面,本申请实施例提供了一种路网生成方法,包括:
确定场景区域的区域边缘及区域边缘上对应的多个入口位置;
以每一入口位置为起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线;
在场景区域内的多条第一射线中,确定出长度最长的目标第一射线为初始路线,以及初始路线对应的第一起始点;
在多个起始点中确定出第一起始点之外的目标起始点,依次确定每一目标起始点发出的且与初始路线相连接的路线;
根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网。
第二方面,本申请实施例提供了一种路网生成装置,包括:
第一确定模块,用于确定场景区域的区域边缘及区域边缘上对应的多个入口位置;
第一发射模块,用于以每一入口位置为起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线;
第二确定模块,用于在场景区域内的多条第一射线中,确定出长度最长的目标第一射线为初始路线,以及初始路线对应的第一起始点;
第三确定模块,用于在多个起始点中确定出第一起始点之外的目标起始点,依次确定每一目标起始点发出的且与初始路线相连接的路线;
生成模块,用于根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网。
第三方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请实施例中提供的路网生成方法。
第四方面,本申请实施例提供了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本申请实施例提供的路网生成方法。
本申请实施例中,计算机设备通过确定场景区域的区域边缘及区域边缘上对应的多个入口位置;然后以每一入口位置为起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线;在场景区域内的多条第一射线中,确定出长度最长的目标第一射线为初始路线,以及初始路线对应的第一起始点;在多个起始点中确定出第一起始点之外的目标起始点,依次确定每一目标起始点发出的且与初始路线相连接的路线;最后根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网。从而实现根据场景区域的入口位置自动生成路网。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的路网生成方法的第一流程示意图。
图2是本申请实施例提供的路网生成方法的第二流程示意图。
图3是本申请实施例提供的路网生成方法的第三流程示意图。
图4是本申请实施例提供的路网生成方法的第四流程示意图。
图5是本申请实施例提供的路网生成的第一场景示意图。
图6是本申请实施例提供的路网生成的第二场景示意图。
图7是本申请实施例提供的路网生成的第三场景示意图。
图8是本申请实施例提供的路网生成的第四场景示意图。
图9是本申请实施例提供的路网生成的第五场景示意图。
图10是本申请实施例提供的路网生成装置的结构示意图。
图11是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在一些虚拟场景中,在一片区域内需要生成多种相互连接的道路,根据生成的多条道路,从而生成路网。虚拟角色可以在路网中自由活动。
但是,现有的路网生成方式往往是人工设置多条道路生成路网,并不能根据虚拟场景区域内的进出口位置自动生成对应的路网。
为了解决该技术问题,本申请实施例提供了一种路网生成方法、装置、计算机可读存储介质及计算机设备。其中该路网生成方法可以根据场景区域的入口位置自动生成路网。
为了更加详细的了解本申请实施例所提供的路网生成方法。请参阅图1,图1是本申请实施例提供的路网生成方法的第一流程示意图。该路网生成方法可以包括如下步骤:
110、确定场景区域的区域边缘及区域边缘上对应的多个入口位置。
在一些实施方式中,在一些游戏场景或者设计场景中,在场景区域内需要设置对应的路网,计算机设备可以先确定场景区域的区域边缘以及区域边缘上对应的多个入口位置。比如,在场景区域的任一区域边缘上均可以设置入口位置。
在一些实施方式中,在一些场景区域内还包括障碍物,该障碍物可以是建筑物、人物、自然景物等。在场景区域的区域边缘会存在该场景区域对应的入口,虚拟角色可以通过入口进入该场景区域或者离开该场景区域。该场景区域可以是游戏、动画、模型等多种场景下的场景区域。
计算机设备可以先确定场景区域的区域边缘,然后确定区域边缘上对应的多个入口位置及场景区域内的障碍物。同时,计算机设备还可以确定出障碍物的障碍物边缘。以便于计算机设备计算出该场景区域内的道路,从形成该场景区域内的路网。
120、以每一入口位置为起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线。
在一些实施方式中,在区域边缘上的多个入口位置,每一入口位置均设置有对应的起始点,该起始点用于向场景区域内发射射线,从而进行对障碍物进行碰撞检测,以及对区域边缘进行碰撞检测。
请一并参阅图5,图5是本申请实施例提供的路网生成的第一场景示意图。
其中,场景区域为S,场景区域的区域边缘为S1,A1、A2、A3均为起始点,在区域边缘S1上存在多个入口位置,每一入口位置均对应一起始点,图5中边缘区域S1上的黑点均为起始点。在场景区域S1中存在障碍物B。
计算机设备在确定好每一个入口位置对应的起始点之后,计算机设备可以在每一起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线。
比如,如图5所示,以起始点A1为例,在起始点A1向垂直于起始点A1所在的区域边缘向场景区域内发射第一射线。以起始点A3为例,在起始点A3向垂直于起始点A3所在的区域边缘向场景区域内发射第一射线。即起始点A1对应的第一射线的方向和起始点A3对应的射线的方向是不同的。
通过该方式,计算机设备可以确定出每一起始点对应的垂直于起始点所处的区域边缘的第一射线。
130、在场景区域内的多条第一射线中,确定出长度最长的目标第一射线为初始路线,以及初始路线对应的第一起始点。
在一些实施方式中,计算机设备可以在多个第一射线中确定出一条长度最长的目标第一射线。
在一些实施方式中,计算机设备可以在多个第一射线中确定出未接触障碍物且长度最长的目标第一射线。
例如,计算机设备可以在多个第一射线中确定出未接触障碍物的待选择第一射线,然后在待选择第一射线中确定出长度最长的待选择第一射线。最后将长度最长的待选择第一射线确定为目标第一射线,并确定目标第一射线对应的第一起始点。
在一些实施方式中,从起始点发射的第一射线,且该第一射线的另一端接触到区域边缘,计算机设备可以将此类第一射线确认为待选择第一射线。然后在待选择第一射线中确定出长度最长的待选择第一射线,并将长度最长的待选择第一射线确定为目标第一射线,最后确定目标第一射线对应的第一起始点。
如图5所示,其中起始点A1发射的第一射线可以不接触障碍物,且起始点A1发射的第一射线可以接触到区域边缘,则起始点A1发射的第一射线为待选择第一射线。而起始点A3发射的第一射线会碰撞到障碍物,从而接触到障碍物,则起始点A3发射的第一射线不是待选择第一射线。
在一些实施方式中,可以将目标第一射线确定为初始路线,将目标第一射线对应的起始点确定为第一起始点。
140、在多个起始点中确定出第一起始点之外的目标起始点,依次确定每一目标起始点发出的且与初始路线相连接的路线。
在一些实施方式中,计算机设备可以在多个起始点中确定出第一起始点之外的目标起始点,每一目标起始点均可以朝向场景区域内发射射线,计算机设备可以将每一目标起始点发射的射线确定出直接或间接与初始路线相连接的路线。
当每一目标起始点发射的射线和初始路线连接之后,则与初始路线连接形成路网的一部分。
其中每一目标起始点发射的路线可以是直接或者间接与初始路线连接的。在多个目标起始点中,可以控制每个目标起始点依次发射射线,如果上一目标起始点发射的射线直接和初始路线连接。当下一个目标起始点发射的射线和上一个起始点发射的射线接触时,则认为下一目标起始点的射线和初始路线间接连接。如此遍历所有的目标起始点来发射射线,从而生成场景区域内的路网。
为了便于理解,本申请实施例中以除第一起始点之外的目标起始点中的第二起始点和第三起始点为例,计算机设备可以在目标起始点中确定出第二起始点,并以第二起始点为起点,生成连接初始路线的第一路线;在目标起始点中确定出第二起始点之外的第三起始点,并以第三起始点为起点,生成连接初始路线或第一路线的第二路线。
在一些实施方式中,在确定第一起始点之后,计算机设备可以将剩下的起始点确定为目标起始点,然后在目标起始点中确定出除第一起始点之外的第二起始点,该第二起始点可以是随机确定的。
请一并参阅图6,其中图6是本申请实施例提供的路网生成的第二场景示意图。
在一些实施方式中,在确定好目标第一射线之后,计算机设备可以在确定目标第一射线对应的垂直于场景区域平面的第一接触面。如图6所示,第一起始点可以是起始点A1,则起始点A1发射的目标第一射线对应的第一接触面为A11,第一接触面A11垂直于场景区域。
然后计算机设备在第二起始点向场景区域内发射垂直于第二起始点所处的区域边缘的第二射线。如图6所示,其中除去起始点A1,则区域边缘上的任一起始点均可以为第二起始点,第二起始点可以向场景区域内发射垂直于第二起始点所处的区域边缘的第二射线。
请一并参阅图7,图7是本申请实施例提供的路网生成的第三场景示意图。
在一些实施方式中,若第二射线与第一接触面连接,则确定第二射线的路径为第一路线。当第二射线与第一接触面连接,则认为第二射线和目标第一射线连接。
如图7所示,若第二起始点为起始点A6,起始点A6发射第二射线之后,第二射线会直接与起始点A1对应的第一接触面A11连接,则第二射线对应的路径可以为第二起始点对应的第一路线,即起始点A6到第二射线和第一接触面的连接点L2之间的路径为第一路线。
在一些实施方式中,第二起始点发射的第二射线可能并不会直接接触到第一接触面。
计算机设备可以确定区域边缘和障碍物的障碍物边缘对应的垂直于场景区域平面的边缘面,当第二射线和边缘面连接时,则说明第二射线对应的路径不能作为第二起始点对应的第一路线。
若第二射线与边缘面连接,计算机设备可以在第二射线的路径内确定第一发射点,并以第一发射点为起点向场景区域内发射垂直于第二射线的第三射线。若第三射线与第一接触面连接,则计算机设备在第二射线和第三射线中确定出连接第二起始点和第一接触面的目标路径,并将目标路径确定为第一路线。
如图7所示,第二起始点可以是起始点A2,起始点A2发射第二射线时,第二射线会直接接触到场景区域的区域边缘,此时计算机设备可以在第二射线的路径内确定出第一发射点,该第一发射点为Z1。
计算机设备以第一发射点Z1为起点,然后发射垂直于第二射线的第三射线。其中第三射线的方向可以是垂直于第二射线的两个相对的方向,如图7所示,其中以第一发射点Z1为起点,一个第三射线的方向是朝向第一接触面A11发射的,另一个第三射线的方向是朝向场景区域的区域边缘发射的。此时,计算机设备可以直接确定方向朝向第一接触面A11的第三射线为最终确定的第三射线,即图7中第一发射点Z1到第一连接点L1的方向的第三射线。
在一些实施方式中,计算机设备可以确定第三射线与第一接触面的第一连接点,然后连接第二起始点、第一发射点和第一连接点,以生成目标路径,并将目标路径确定为第一路线。
如图7所示,其中第二起始点为A2,第一发射点为Z1,第一连接点为L1,则以第二起始点为A2为起点,然后连接第一发射点为Z1,最后再连接第一连接点为L1的目标路径为第一路线。
其中,由于第三射线和第一接触面A11连接,则认为第一路线和目标第一射线连接。
在一些实施方式中,计算机设备可以在多个目标起始点中确定出第二起始点之外的第三起始点,并以第三起始点为起点,生成并连接初始路线或第一路线的第二路线。
在一些实施方式中,计算机设备在确定出第一起始点对应的目标第一射线、确定出第二起始点对应的第一路线之后,计算机设备可以确定第一路线和目标第一射线对应的垂直于场景区域平面的第二接触面。
由于第一路线和目标第一射线第一接触面连接,则认为第二接触面中是包含第一接触面的,而第一路线垂直于场景区域的平面是第二接触面的一部分。
计算机设备在多个起始点中确定出第一起始点和第二起始点之外的第三起始点,其中第三起始点可以是剩余的起始点中的任一起始点。
如图7所示,第三起始点可以是起始点A3,计算机设备可以从起始点A3向场景区域内发射垂直于第三起始点所处的区域边缘的第四射线,即起始点A3到点Z2的方向的射线。
由于第四射线和第一路线对应的第二接触面连接,即第四射线与第二起始点A2到第一发射点Z1的射线对应的垂直于场景区域的平面连接。此时将第四射线对应的路径确定为第二路线,即起始点A3到点Z2的路径为第二路线。
在一些实施方式中,在得到第一路线、第二路线、初始路线之后,则第一路线、第二路线、初始路线可以形成一部分路网,则计算机设备可以确定第一路线、第二路线、初始路线对应的垂直于场景区域平面的第三接触面。然后通过除第一起始点、第二起始点、第三起始点之外的其他目标起始点继续发射射线,从而实现对第三接触面的碰撞检测,从而确定出每一目标起始点对应的路线。
需要说明的是,在本申请实施例中,比如起始点A4、A5、A6均可以为目标起始点,可以确定每一目标起始点对应的路线,该路线和已经生成的路线连接,从而形成路网。在本申请实施例中,为了便于理解,仅将起始点A2和起始点A3生成的路线来进行描述。
150、根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网。
在一些实施方式中,在确定所有起始点对应的路线之后,计算机设备在确定好确定目标第一射线除第一起始点之外的另一端是否为入口位置。若目标第一射线除第一起始点之外的另一端不是入口位置,则确定目标第一射线对应的距离另一端最近的连接点,其中连接点为其他路线连接目标第一射线的连接点。然后将目标第一射线上连接点至另一端的路径进行裁切,以得到目标第一射线对应的目标路线。最后根据目标路线、第一路线、第二路线生成场景区域对应的路网。
如图7所示,第一起始点可以是起始点A1,则第一起始点对应的连接点有连接点L1和连接点L2,而目标第一射线对应的除去第一起始点的另一端D1并非入口位置。
则计算机设备可以确定连接点L2距离另一端D1最近,计算机设备可以将连接点L2到另一端D1的路径进行裁切,从而得到初始路线(目标第一射线)对应的目标路线,即起始点A1到连接点L2的路径为目标路线。
需要说明的是,计算机设备在确定出目标路线、第一路线、第二路线之后,由于第一路线、第二路线均通过目标路线实现连接,则形成了可以进出场景区域的至少部分路网。当确定出每一起始点和初始路线相连接的路线之后,则形成路网。
在一些实施方式中,计算机设备在确定好路网之后,可以确定路网中路径发生转折时的转折点,在转折点的相邻路径中的确定距离转折点预设距离范围内的截断点。然后根据截断点将路网分割为多条直线路径和多条转折路径,最后对多条直线路径和多条转折路径进行模型化处理,以得到场景区域中的道路。
具体如图8所示,图8是本申请实施例提供的路网生成的第四场景示意图。
其中,图8中的Z1为转折点,Z2也为转折点,可以将转折点理解为路径转折时对应的点,相当于现实世界中的十字路口。转折点也可以理解为两条不同的路径的交叉点。
在每一转折点相连接的每一路径上,可以在距离转折点预设距离范围内确定出一个截断点,然后根据该截断点对整个路网进行截断,从而形成了多条直线路径和多条转折路径。
比如,如图8所示,在起始点A2到转折点Z2对应的路径中,可以确定出一个截断点,起始点A2到该截断点之间的路径为直线路径。比如起始点A3到转折点Z2的路径中存在另一截断点,该截断点到转折点Z2对应的另一截断点的路径是转折路径。
具体请参阅图9,图9是本申请实施例提供的路网生成的第五场景示意图。
其中,直线路径为C1,转折路径为C2,转折路径C2中包含了转折点及多条不同方向的路径。
对路网进行截断处理,从而获取到直线路径和转折路径,直线路径在渲染处理的过程中较为简单,直接进行直线处理即可。而转折路径的拐角处需要进行处理,在渲染处理过程中,处理较为复杂。因此对路网进行截断处理,能够有利于后续模型处理更加快速,从而得到场景区域中对应的道路。
由上述内容可知,本申请中通过在入口位置发射射线,从而根据射线的碰撞检测来自动生成场景区域内的路网。
比如,对场景区域的区域边缘进行碰撞检测,对障碍物进行碰撞检测,对已经形成的路线的接触面进行碰撞检测,从而生成场景区域内对应的路网,实现了路网的自动化生成。提高了场景区域内的路网生成效率。
本申请实施例中,计算机设备通过确定场景区域的区域边缘及区域边缘上对应的多个入口位置;然后以每一入口位置为起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线;在场景区域内的多条第一射线中,确定出长度最长的目标第一射线为初始路线,以及初始路线对应的第一起始点;在多个起始点中确定出第一起始点之外的目标起始点,依次确定每一目标起始点发出的且与初始路线相连接的路线;最后根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网。从而实现根据场景区域的入口位置自动生成路网。
请参阅图2,图2是本申请实施例提供的路网生成方法的第二流程示意图。该路网生成方法可以包括如下步骤:
201、确定场景区域的区域边缘、区域边缘上对应的多个入口位置及场景区域内的障碍物。
在一些实施方式中,在一些场景区域内会存在障碍物,该障碍物可以是建筑物、人物、自然景物等。在场景区域的区域边缘会存在该场景区域对应的入口,虚拟角色可以通过入口进入该场景区域或者离开该场景区域。该场景区域可以是游戏、动画、模型等多种场景下的场景区域。
计算机设备可以先确定场景区域的区域边缘,然后确定区域边缘上对应的多个入口位置及场景区域内的障碍物。同时,计算机设备还可以确定出障碍物的障碍物边缘。以便于计算机设备计算出该场景区域内的道路,从形成该场景区域内的路网。
202、确定每一入口位置对应的起始点,并在每一起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线。
在一些实施方式中,在区域边缘上的多个入口位置,每一入口位置均设置有对应的起始点,该起始点用于向场景区域内发射射线,从而进行对障碍物进行碰撞检测,以及对区域边缘进行碰撞检测。
如图5所示,其中,场景区域为S,场景区域的区域边缘为S1,A1、A2、A3均为起始点,在区域边缘S1上存在多个入口位置,每一入口位置均对应一起始点,图5中边缘区域S1上的黑点均为起始点。在场景区域S1中存在障碍物B。
计算机设备在确定好每一个入口位置对应的起始点之后,计算机设备可以在每一起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线。
比如,如图5所示,以起始点A1为例,在起始点A1向垂直于起始点A1所在的区域边缘向场景区域内发射第一射线。以起始点A3为例,在起始点A3向垂直于起始点A3所在的区域边缘向场景区域内发射第一射线。即起始点A1对应的第一射线的方向和起始点A3对应的射线的方向是不同的。
通过该方式,计算机设备可以确定出每一起始点对应的垂直于起始点所处的区域边缘的第一射线。
203、在多个第一射线中确定出待选择第一射线。
由于每一起始点的位置是不同的,则每一起始点向场景区域内发射的第一射线的位置也是不同的,则有的第一射线在从起始点发射之后,可能与障碍物发生碰撞,从而实现和障碍物接触。可以将剩下未接触障碍物的第一射线确定为待选择第一射线。
如果场景区域中每一起始点的第一射线均和障碍物接触,则所有的第一射线均确定为第一射线。
还可以将场景区域内的未接触障碍物的第一射线和接触障碍物的第一射线均确定为待选择第一射线。
在本实施例中,可以将待选择第一射线确定为未接触障碍物的第一射线来进行举例。
204、在待选择第一射线中确定出长度最长的待选择第一射线,将长度最长的待选择第一射线确定为目标第一射线,并确定目标第一射线对应的第一起始点。
然后在待选择第一射线中确定出长度最长的待选择第一射线,并将长度最长的待选择第一射线确定为目标第一射线,最后确定目标第一射线对应的第一起始点。
如图5所示,其中起始点A1发射的第一射线可以不接触障碍物,且起始点A1发射的第一射线可以接触到区域边缘,则起始点A1发射的第一射线为待选择第一射线。而起始点A3发射的第一射线会碰撞到障碍物,从而接触到障碍物,则起始点A3发射的第一射线不是待选择第一射线。则起始点A1就是目标第一射线对应的第一起始点。
其中,目标第一射线可以确定为场景区域内的初始路线。
205、确定初始路线对应的垂直于场景区域平面的第一接触面。
在一些实施方式中,在确定好初始路线之后,计算机设备可以在确定初始路线对应的垂直于场景区域平面的第一接触面。如图6所示,第一起始点可以是起始点A1,则起始点A1发出的初始路线对应的第一接触面为A11,第一接触面A11垂直于场景区域。
206、在多个起始点中确定出第一起始点之外的目标起始点,在目标起始点中确定出第二起始点,在第二起始点向场景区域内发射垂直于第二起始点所处的区域边缘的第二射线。
计算机设备可以将起始点中除第一起始点之外的起始点确定为目标起始点,然后在目标起始点中随机确定出第二起始点。
然后计算机设备在第二起始点向场景区域内发射垂直于第二起始点所处的区域边缘的第二射线。如图6所示,其中除去起始点A1,则区域边缘上的任一起始点均可以为第二起始点,第二起始点可以向场景区域内发射垂直于第二起始点所处的区域边缘的第二射线。
207、若第二射线与第一接触面连接,则确定第二射线的路径为第一路线。
请一并参阅图7,在一些实施方式中,若第二射线与第一接触面连接,则确定第二射线的路径为第一路线。当第二射线与第一接触面连接,则认为第二射线和目标第一射线连接。
如图7所示,若第二起始点为起始点A6,起始点A6发射第二射线之后,第二射线会直接与起始点A1对应的第一接触面A11连接,则第二射线对应的路径可以为第二起始点对应的第一路线,即起始点A6到第二射线和第一接触面的连接点L2之间的路径为第一路线。
请一并图3,图3是本申请实施例提供的路网生成方法的第三流程示意图。其中该路网生成方法还可以包括如下步骤:
301、确定区域边缘和障碍物的障碍物边缘对应的垂直于场景区域平面的边缘面。
在第二起始点向场景区域内发射垂直于第二起始点所处的区域边缘的第二射线之后,第二起始点发射的第二射线可能并不会直接接触到第一接触面。
此时,计算机设备可以确定区域边缘和障碍物的障碍物边缘对应的垂直于场景区域平面的边缘面,当第二射线和边缘面连接时,则说明第二射线对应的路径不能作为第二起始点对应的第一路线。
302、若第二射线与边缘面连接,则在第二射线的路径内确定第一发射点,并以第一发射点为起点向场景区域内发射垂直于第二射线的第三射线。
若第二射线与边缘面连接,计算机设备可以在第二射线的路径内确定第一发射点,并以第一发射点为起点向场景区域内发射垂直于第二射线的第三射线。若第三射线与第一接触面连接,则计算机设备在第二射线和第三射线中确定出连接第二起始点和第一接触面的目标路径,并将目标路径确定为第一路线。
如图7所示,第二起始点可以是起始点A2,起始点A2发射第二射线时,第二射线会直接接触到场景区域的区域边缘,此时计算机设备可以在第二射线的路径内确定出第一发射点,该第一发射点为Z1。
计算机设备以第一发射点Z1为起点,然后发射垂直于第二射线的第三射线。其中第三射线的方向可以是垂直于第二射线的两个相对的方向,如图7所示,其中以第一发射点Z1为起点,一个第三射线的方向是朝向第一接触面A11发射的,另一个第三射线的方向是朝向场景区域的区域边缘发射的。此时,计算机设备可以直接确定方向朝向第一接触面A11的第三射线为最终确定的第三射线,即图7中第一发射点Z1到第一连接点L1的方向的第三射线。
303、若第三射线与第一接触面连接,则在第二射线和第三射线中确定出连接第二起始点和第一接触面的目标路径,并将目标路径确定为第一路线。
在一些实施方式中,计算机设备可以确定第三射线与第一接触面的第一连接点,然后连接第二起始点、第一发射点和第一连接点,以生成目标路径,并将目标路径确定为第一路线。
如图7所示,其中第二起始点为A2,第一发射点为Z1,第一连接点为L1,则以第二起始点为A2为起点,然后连接第一发射点为Z1,最后再连接第一连接点为L1的目标路径为第一路线。
其中,由于第三射线和第一接触面A11连接,则认为第一路线和初始路线连接。
请继续参阅图2,步骤208、确定第一路线和初始路线对应的垂直于场景区域平面的第二接触面。
在一些实施方式中,计算机设备在确定出第一起始点对应的目标第一射线、确定出第二起始点对应的第一路线之后,计算机设备可以确定第一路线和初始路线对应的垂直于场景区域平面的第二接触面。
由于第一路线和初始路线第一接触面连接,则认为第二接触面中是包含第一接触面的,而第一路线垂直于场景区域的平面是第二接触面的一部分。
209、在目标起始点中确定出第二起始点之外的第三起始点,在第三起始点向场景区域内发射垂直于第三起始点所处的区域边缘的第四射线。
计算机设备在目标起始点中确定出第二起始点之外的第三起始点,其中第三起始点可以是剩余的起始点中的任一起始点。
如图7所示,第三起始点可以是起始点A3,计算机设备可以从起始点A3向场景区域内发射垂直于第三起始点所处的区域边缘的第四射线,即起始点A3到点Z2的方向的射线。
210、若第四射线与第二接触面连接,则确定第四射线的路径为第二路线。
如图7所示,计算机设备可以从第三起始点A3向场景区域内发射垂直于第三起始点所处的区域边缘的第四射线,由于第四射线和第一路线对应的第二接触面连接,即第四射线与第二起始点A2到第一发射点Z1的射线对应的垂直于场景区域的平面连接。此时将第四射线对应的路径确定为第二路线,即起始点A3到点Z2的路径为第二路线。
在一些实施方式中,在得到第一路线、第二路线、初始路线之后,则第一路线、第二路线、初始路线可以形成一部分路网,则计算机设备可以确定第一路线、第二路线、初始路线对应的垂直于场景区域平面的第三接触面。然后通过除第一起始点、第二起始点、第三起始点之外的其他起始点继续发射射线,从而实现对第三接触面的碰撞检测,从而确定出起始点对应的路线。
需要说明的是,在本申请实施例中,上述第三起始点可以是多个,比如起始点A4、A5、A6均可以为第三起始点,则每一第三起始点对应的路线均可以第二路线。在本申请实施例中,为了便于理解,仅将起始点A3作为第三起始点来进行描述。
在一些实施方式中,在确定所有起始点对应的路线之后,计算机设备在确定好确定初始路线除第一起始点之外的另一端是否为入口位置。若初始路线除第一起始点之外的另一端不是入口位置,则确定初始路线对应的距离另一端最近的连接点,其中连接点为其他路线连接初始路线的连接点。然后将初始路线上连接点至另一端的路径进行裁切,以得到初始路线对应的目标路线。最后根据目标路线、第一路线、第二路线生成场景区域对应的路网。
如图7所示,第一起始点可以是起始点A1,则第一起始点对应的连接点有连接点L1和连接点L2,而初始路线对应的除去第一起始点的另一端D1并非入口位置。
则计算机设备可以确定连接点L2距离另一端D1最近,计算机设备可以将连接点L2到另一端D1的路径进行裁切,从而得到初始路线对应的目标路线,即起始点A1到连接点L2的路径为目标路线。
211、根据初始路线、第一路线、第二路线生成场景区域对应的至少部分路网。
需要说明的是,计算机设备在确定出初始路线、第一路线、第二路线之后,由于第一路线、第二路线均通过初始路线实现连接,则形成了可以进出场景区域的路网。
请一并参阅图4,图4是本申请实施例提供的路网生成方法的第四流程示意图。该路网生成方法可以包括如下步骤:
401、确定路网中路径发生转折时的转折点。
请一并参阅图8,如图8所示,当路线发生转折时,则对应有转折点,其中图8中的Z1为转折点,Z2也为转折点,可以将转折点理解为路径转折时对应的点,相当于现实世界中的十字路口。
402、在转折点的相邻路径中的确定距离转折点预设距离范围内的截断点。
在每一转折点相连接的每一路径上,可以在距离转折点预设距离范围内确定出一个截断点,然后根据该截断点对整个路网进行截断,从而形成了多条直线路径和多条转折路径。
403、根据截断点将路网分割为多条直线路径和多条转折路径。
如图8所示,在起始点A2到转折点Z2对应的路径中,可以确定出一个截断点,起始点A2到该截断点之间的路径为直线路径。比如起始点A3到转折点Z2的路径中存在另一截断点,该截断点到转折点Z2对应的另一截断点的路径是转折路径。
具体请参阅图9,其中,直线路径为C1,转折路径为C2,转折路径C2中包含了转折点及多条不同方向的路径。
404、对多条直线路径和多条转折路径进行道路渲染处理,以得到场景区域中的道路。
在一些实施方式中,计算机设备可以对多条直线路径采用第一渲染处理方式,以得到多条直线道路。对多条转折路径采用第二渲染处理方式,以得到多条转折道路。最后根据多条直线道路和多条转折道路确定场景区域中的道路。
其中,由于直线路径在道路渲染处理的过程中较为简单,直接进行直线处理即可。此时可以采用第一渲染处理方式。第一渲染处理方式为轻度渲染,需要渲染的精度较低,比如不用对道路拐角处进行渲染。
而转折路径的拐角处需要进行处理,在道路渲染处理过程中,处理较为复杂。此时可以采用第二渲染处理方式,第二渲染处理方式相对于第一渲染处理方式更加复杂。比如需要对道路的拐角进行曲率计算。
因此对路网进行截断处理,能够有利于后续道路生成处理更加快速,从而得到场景区域中对应的道路。
在一些实施方式中,计算机设备可以确定多条直线路径在场景区域内分别对应的第一位置,以及确定多条转折路径在场景区域内分别对应的第二位置。最后根据第一位置、第二位置、多条直线道路和多条转折道路确定场景区域中的道路。
比如,将道路渲染处理后的每一直线道路按照对应的第一位置将其放置到对应的位置,将道路渲染处理后的每一转折道路按照对应的第二位置将其放置到对应的位置。从而完成对场景区域内的道路布局。
在一些实施方式中,在根据初始路线、第一路线、第二路线生成场景区域对应的路网之后,计算机设备还可以确定障碍物的障碍物边缘、障碍物边缘的进出口及进出口对应的进出点。然后在进出点向障碍物外垂直于障碍物边缘的方向发射第五射线,若第五射线与路网连接,则将第五射线的路径确定为障碍物的进出路线。
具体如图7所示,其中障碍物为B,障碍物的进出口为B1,以B1为起点向障碍物外垂直于障碍物边缘的方向发射第五射线,由图7可知,第五射线和路网中的路径Z3-Z4连接,那么则认为第五射线和路网连接,计算机设备可以将第五射线的路径确定为障碍物的进出路线。
在本申请实施例中,计算机设备通过确定场景区域的区域边缘、区域边缘上对应的多个入口位置及场景区域内的障碍物;确定每一入口位置对应的起始点,并在每一起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线;在多个第一射线中确定出待选择第一射线;在待选择第一射线中确定出长度最长的待选择第一射线,将长度最长的待选择第一射线确定为目标第一射线,并确定目标第一射线对应的第一起始点;
然后确定初始路线对应的垂直于场景区域平面的第一接触面;在多个起始点中确定出第一起始点之外的目标起始点,在目标起始点中确定出第二起始点,在第二起始点向场景区域内发射垂直于第二起始点所处的区域边缘的第二射线;若第二射线与第一接触面连接,则确定第二射线的路径为第一路线;
最后确定第一路线和初始路线对应的垂直于场景区域平面的第二接触面;在多个起始点中确定出第一起始点和第二起始点之外的第三起始点,在第三起始点向场景区域内发射垂直于第三起始点所处的区域边缘的第四射线;若第四射线与第二接触面连接,则确定第四射线的路径为第二路线;根据初始路线、第一路线、第二路线生成场景区域对应的至少部分路网。
由上述内容可知,本申请中通过在入口位置发射射线,从而对场景区域的区域边缘进行碰撞检测,对障碍物进行碰撞检测,对已经形成的路线的接触面进行碰撞检测,就能够生成场景区域内对应的路网,实现了路网的自动化生成。提高了场景区域内的路网生成效率。
请参阅图10,图10是本申请实施例提供的路网生成装置的结构示意图。该路网生成装置500可以包括:
第一确定模块510,用于确定场景区域的区域边缘及区域边缘上对应的多个入口位置。
第一发射模块520,用于以每一入口位置为起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线。
第二确定模块530,用于在场景区域内的多条第一射线中,确定出长度最长的目标第一射线为初始路线,以及初始路线对应的第一起始点。
第三确定模块540,用于在多个起始点中确定出第一起始点之外的目标起始点,依次确定每一目标起始点发出的且与初始路线相连接的路线。
第三确定模块540,还用于在目标起始点中确定出第二起始点,并以第二起始点为起点,生成连接初始路线的第一路线;
在目标起始点中确定出第二起始点之外的第三起始点,并以第三起始点为起点,生成连接初始路线或第一路线的第二路线。
第三确定模块540,还用于确定初始路线对应的垂直于场景区域平面的第一接触面;
在第二起始点向场景区域内发射垂直于第二起始点所处的区域边缘的第二射线;
若第二射线与第一接触面连接,则确定第二射线的路径为第一路线。
第三确定模块540,还用于确定场景区域内的障碍物,以及障碍物的障碍物边缘和区域边缘对应的垂直于场景区域平面的边缘面;
若第二射线与边缘面连接,则在第二射线的路径内确定第一发射点,并以第一发射点为起点向场景区域内发射垂直于第二射线的第三射线;
若第三射线与第一接触面连接,则在第二射线和第三射线中确定出连接第二起始点和第一接触面的目标路径,并将目标路径确定为第一路线。
第三确定模块540,还用于确定第三射线与第一接触面的第一连接点;
连接第二起始点、第一发射点和第一连接点,以生成目标路径,并将目标路径确定为第一路线。
第三确定模块540,还用于确定第一路线和初始路线对应的垂直于场景区域平面的第二接触面;
在第三起始点向场景区域内发射垂直于第三起始点所处的区域边缘的第四射线;
若第四射线与第二接触面连接,则确定第四射线的路径为第二路线。
生成模块550,用于根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网。
生成模块550,还用于确定初始路线除第一起始点之外的另一端是否为入口位置;
若初始路线除第一起始点之外的另一端不是入口位置,则确定初始路线对应的距离另一端最近的连接点,连接点为其他路线连接初始路线的连接点;
将初始路线上连接点至另一端的路径进行裁切,以得到初始路线对应的目标路线;
根据目标路线、第一路线、第二路线生成场景区域对应的路网。
生成模块550,还用于确定路网中路径发生转折时的转折点;
在转折点的相邻路径中的确定距离转折点预设距离范围内的截断点;
根据截断点将路网分割为多条直线路径和多条转折路径;
对多条直线路径和多条转折路径进行道路渲染处理,以得到场景区域中的道路。
生成模块550,还用于对多条直线路径采用第一渲染处理方式,以得到多条直线道路;
对多条转折路径采用第二渲染处理方式,以得到多条转折道路;
根据多条直线道路和多条转折道路确定场景区域中的道路。
生成模块550,还用于确定多条直线路径在场景区域内分别对应的第一位置;
确定多条转折路径在场景区域内分别对应的第二位置;
根据第一位置、第二位置、多条直线道路和多条转折道路确定场景区域中的道路。
生成模块550,还用于在根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网之后,确定场景区域内障碍物的障碍物边缘及障碍物边缘的进出口;
以进出口为进出点向障碍物外垂直于障碍物边缘的方向发射第五射线,若第五射线与路网连接,则将第五射线的路径确定为障碍物的进出路线。
本申请实施例中,路网生成装置通过确定场景区域的区域边缘及区域边缘上对应的多个入口位置;然后以每一入口位置为起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线;在场景区域内的多条第一射线中,确定出长度最长的目标第一射线为初始路线,以及初始路线对应的第一起始点;在多个起始点中确定出第一起始点之外的目标起始点,依次确定每一目标起始点发出的且与初始路线相连接的路线;最后根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网。从而实现根据场景区域的入口位置自动生成路网。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。如图11所示,图11为本申请实施例提供的计算机设备的结构示意图。该计算机设备600包括有一个或者一个以上处理核心的处理器601、有一个或一个以上计算机可读存储介质的存储器602及存储在存储器602上并可在处理器上运行的计算机程序。其中,处理器601与存储器602电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器601是计算机设备600的控制中心,利用各种接口和线路连接整个计算机设备600的各个部分,通过运行或加载存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备600的各种功能和处理数据,从而对计算机设备600进行整体监控。
在本申请实施例中,计算机设备600中的处理器601会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能:
确定场景区域的区域边缘及区域边缘上对应的多个入口位置;
以每一入口位置为起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线;
在场景区域内的多条第一射线中,确定出长度最长的目标第一射线为初始路线,以及初始路线对应的第一起始点;
在多个起始点中确定出第一起始点之外的目标起始点,依次确定每一目标起始点发出的且与初始路线相连接的路线;
根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网。
处理器601还用于执行:
在目标起始点中确定出第二起始点,并以第二起始点为起点,生成连接初始路线的第一路线;
在目标起始点中确定出第二起始点之外的第三起始点,并以第三起始点为起点,生成连接初始路线或第一路线的第二路线。
处理器601还用于执行:
确定初始路线对应的垂直于场景区域平面的第一接触面;
在第二起始点向场景区域内发射垂直于第二起始点所处的区域边缘的第二射线;
若第二射线与第一接触面连接,则确定第二射线的路径为第一路线。
处理器601还用于执行:
确定场景区域内的障碍物,以及障碍物的障碍物边缘和区域边缘对应的垂直于场景区域平面的边缘面;
若第二射线与边缘面连接,则在第二射线的路径内确定第一发射点,并以第一发射点为起点向场景区域内发射垂直于第二射线的第三射线;
若第三射线与第一接触面连接,则在第二射线和第三射线中确定出连接第二起始点和第一接触面的目标路径,并将目标路径确定为第一路线。
处理器601还用于执行:
确定第三射线与第一接触面的第一连接点;
连接第二起始点、第一发射点和第一连接点,以生成目标路径,并将目标路径确定为第一路线。
处理器601还用于执行:
确定第一路线和初始路线对应的垂直于场景区域平面的第二接触面;
在第三起始点向场景区域内发射垂直于第三起始点所处的区域边缘的第四射线;
若第四射线与第二接触面连接,则确定第四射线的路径为第二路线。
处理器601还用于执行:
确定初始路线除第一起始点之外的另一端是否为入口位置;
若初始路线除第一起始点之外的另一端不是入口位置,则确定初始路线对应的距离另一端最近的连接点,连接点为其他路线连接初始路线的连接点;
将初始路线上连接点至另一端的路径进行裁切,以得到初始路线对应的目标路线;
根据目标路线、第一路线、第二路线生成场景区域对应的路网。
处理器601还用于执行:
确定路网中路径发生转折时的转折点;
在转折点的相邻路径中的确定距离转折点预设距离范围内的截断点;
根据截断点将路网分割为多条直线路径和多条转折路径;
对多条直线路径和多条转折路径进行道路渲染处理,以得到场景区域中的道路。
处理器601还用于执行:
对多条直线路径采用第一渲染处理方式,以得到多条直线道路;
对多条转折路径采用第二渲染处理方式,以得到多条转折道路;
根据多条直线道路和多条转折道路确定场景区域中的道路。
处理器601还用于执行:
确定多条直线路径在场景区域内分别对应的第一位置;
确定多条转折路径在场景区域内分别对应的第二位置;
根据第一位置、第二位置、多条直线道路和多条转折道路确定场景区域中的道路。
处理器601还用于执行:
确定场景区域内障碍物的障碍物边缘及障碍物边缘的进出口;
以进出口为进出点向障碍物外垂直于障碍物边缘的方向发射第五射线,若第五射线与路网连接,则将第五射线的路径确定为障碍物的进出路线。
本申请实施例中,计算机设备通过确定场景区域的区域边缘及区域边缘上对应的多个入口位置;然后以每一入口位置为起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线;在场景区域内的多条第一射线中,确定出长度最长的目标第一射线为初始路线,以及初始路线对应的第一起始点;在多个起始点中确定出第一起始点之外的目标起始点,依次确定每一目标起始点发出的且与初始路线相连接的路线;最后根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网。从而实现根据场景区域的入口位置自动生成路网。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图11所示,计算机设备600还包括:触控显示屏603、射频电路604、音频电路605、输入单元606以及电源607。其中,处理器601分别与触控显示屏603、射频电路604、音频电路605、输入单元606以及电源607电性连接。本领域技术人员可以理解,图11中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏603可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏603可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器601,并能接收处理器601发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器601以确定触摸事件的类型,随后处理器601根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏603而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏603也可以作为输入单元606的一部分实现输入功能。
射频电路604可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路605可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路605可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路605接收后转换为音频数据,再将音频数据输出处理器601处理后,经射频电路604以发送给比如另一计算机设备,或者将音频数据输出至存储器602以便进一步处理。音频电路605还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元606可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源607用于给计算机设备600的各个部件供电。可选的,电源607可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源607还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图11中未示出,计算机设备600还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种路网生成方法中的步骤。例如,该计算机程序可以执行如下步骤:
确定场景区域的区域边缘及区域边缘上对应的多个入口位置;
以每一入口位置为起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线;
在场景区域内的多条第一射线中,确定出长度最长的目标第一射线为初始路线,以及初始路线对应的第一起始点;
在多个起始点中确定出第一起始点之外的目标起始点,依次确定每一目标起始点发出的且与初始路线相连接的路线;
根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网。
该计算机程序还可以执行:
在目标起始点中确定出第二起始点,并以第二起始点为起点,生成连接初始路线的第一路线;
在目标起始点中确定出第二起始点之外的第三起始点,并以第三起始点为起点,生成连接初始路线或第一路线的第二路线。
该计算机程序还可以执行:
确定初始路线对应的垂直于场景区域平面的第一接触面;
在第二起始点向场景区域内发射垂直于第二起始点所处的区域边缘的第二射线;
若第二射线与第一接触面连接,则确定第二射线的路径为第一路线。
该计算机程序还可以执行:
确定场景区域内的障碍物,以及障碍物的障碍物边缘和区域边缘对应的垂直于场景区域平面的边缘面;
若第二射线与边缘面连接,则在第二射线的路径内确定第一发射点,并以第一发射点为起点向场景区域内发射垂直于第二射线的第三射线;
若第三射线与第一接触面连接,则在第二射线和第三射线中确定出连接第二起始点和第一接触面的目标路径,并将目标路径确定为第一路线。
该计算机程序还可以执行:
确定第三射线与第一接触面的第一连接点;
连接第二起始点、第一发射点和第一连接点,以生成目标路径,并将目标路径确定为第一路线。
该计算机程序还可以执行:
确定第一路线和初始路线对应的垂直于场景区域平面的第二接触面;
在第三起始点向场景区域内发射垂直于第三起始点所处的区域边缘的第四射线;
若第四射线与第二接触面连接,则确定第四射线的路径为第二路线。
该计算机程序还可以执行:
确定初始路线除第一起始点之外的另一端是否为入口位置;
若初始路线除第一起始点之外的另一端不是入口位置,则确定初始路线对应的距离另一端最近的连接点,连接点为其他路线连接初始路线的连接点;
将初始路线上连接点至另一端的路径进行裁切,以得到初始路线对应的目标路线;
根据目标路线、第一路线、第二路线生成场景区域对应的路网。
该计算机程序还可以执行:
确定路网中路径发生转折时的转折点;
在转折点的相邻路径中的确定距离转折点预设距离范围内的截断点;
根据截断点将路网分割为多条直线路径和多条转折路径;
对多条直线路径和多条转折路径进行道路渲染处理,以得到场景区域中的道路。
该计算机程序还可以执行:
对多条直线路径采用第一渲染处理方式,以得到多条直线道路;
对多条转折路径采用第二渲染处理方式,以得到多条转折道路;
根据多条直线道路和多条转折道路确定场景区域中的道路。
该计算机程序还可以执行:
确定多条直线路径在场景区域内分别对应的第一位置;
确定多条转折路径在场景区域内分别对应的第二位置;
根据第一位置、第二位置、多条直线道路和多条转折道路确定场景区域中的道路。
该计算机程序还可以执行:
确定场景区域内障碍物的障碍物边缘及障碍物边缘的进出口;
以进出口为进出点向障碍物外垂直于障碍物边缘的方向发射第五射线,若第五射线与路网连接,则将第五射线的路径确定为障碍物的进出路线。
本申请实施例中,计算机设备通过确定场景区域的区域边缘及区域边缘上对应的多个入口位置;然后以每一入口位置为起始点向场景区域内发射垂直于起始点所处的区域边缘的第一射线;在场景区域内的多条第一射线中,确定出长度最长的目标第一射线为初始路线,以及初始路线对应的第一起始点;在多个起始点中确定出第一起始点之外的目标起始点,依次确定每一目标起始点发出的且与初始路线相连接的路线;最后根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网。从而实现根据场景区域的入口位置自动生成路网。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种路网生成方法中的步骤,因此,可以实现本申请实施例所提供的任一种路网生成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种路网生成方法、装置、计算机可读存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种路网生成方法,其特征在于,包括:
确定场景区域的区域边缘及所述区域边缘上对应的多个入口位置;
以每一所述入口位置为起始点向所述场景区域内发射垂直于所述起始点所处的区域边缘的第一射线;
在所述场景区域内的多条所述第一射线中,确定出长度最长的目标第一射线为初始路线,以及所述初始路线对应的第一起始点;
在多个所述起始点中确定出所述第一起始点之外的目标起始点,依次确定每一所述目标起始点发出的且与所述初始路线相连接的路线;
根据所述初始路线以及每一所述目标起始点发出的且与所述初始路线相连接的路线,生成所述场景区域内的路网。
2.根据权利要求1所述的路网生成方法,其特征在于,所述在多个所述起始点中确定出所述第一起始点之外的目标起始点,依次确定每一所述目标起始点发出的且与所述初始路线相连接的路线,包括:
在所述目标起始点中确定出第二起始点,并以所述第二起始点为起点,生成连接所述初始路线的第一路线;
在所述目标起始点中确定出所述第二起始点之外的第三起始点,并以所述第三起始点为起点,生成连接所述初始路线或所述第一路线的第二路线。
3.根据权利要求2所述的路网生成方法,其特征在于,所述以所述第二起始点为起点,生成连接所述初始路线的第一路线,包括:
确定所述初始路线对应的垂直于所述场景区域的平面的第一接触面;
在所述第二起始点向所述场景区域内发射垂直于所述第二起始点所处的区域边缘的第二射线;
若所述第二射线与所述第一接触面连接,则确定所述第二射线的路径为所述第一路线。
4.根据权利要求3所述的路网生成方法,其特征在于,所述以所述第二起始点为起点,生成连接所述初始路线的第一路线,包括:
确定所述场景区域内的障碍物,以及所述障碍物的障碍物边缘和所述区域边缘对应的垂直于所述场景区域平面的边缘面;
若所述第二射线与所述边缘面连接,则在所述第二射线的路径内确定第一发射点,并以所述第一发射点为起点向所述场景区域内发射垂直于所述第二射线的第三射线;
若所述第三射线与所述第一接触面连接,则在所述第二射线和所述第三射线中确定出连接所述第二起始点和所述第一接触面的目标路径,并将所述目标路径确定为所述第一路线。
5.根据权利要求4所述的路网生成方法,其特征在于,所述若所述第三射线与所述第一接触面连接,则在所述第二射线和所述第三射线中确定出连接所述第二起始点和所述第一接触面的目标路径,并将所述目标路径确定为所述第一路线,包括:
确定所述第三射线与所述第一接触面的第一连接点;
连接所述第二起始点、所述第一发射点和所述第一连接点,以生成所述目标路径,并将所述目标路径确定为所述第一路线。
6.根据权利要求2所述的路网生成方法,其特征在于,所述以所述第三起始点为起点,生成连接所述初始路线或所述第一路线的第二路线,包括:
确定所述第一路线和所述初始路线对应的垂直于所述场景区域的平面的第二接触面;
在所述第三起始点向所述场景区域内发射垂直于所述第三起始点所处的区域边缘的第四射线;
若所述第四射线与所述第二接触面连接,则确定所述第四射线的路径为所述第二路线。
7.根据权利要求2所述的路网生成方法,其特征在于,所述根据所述初始路线以及每一所述目标起始点发出的且与所述初始路线相连接的路线,生成所述场景区域内的路网,包括:
确定所述初始路线除所述第一起始点之外的另一端是否为所述入口位置;
若所述初始路线除所述第一起始点之外的另一端不是所述入口位置,则确定所述初始路线对应的距离所述另一端最近的连接点,所述连接点为其他路线连接所述初始路线的连接点;
将所述初始路线上所述连接点至所述另一端的路径进行裁切,以得到初始路线对应的目标路线;
根据所述目标路线、所述第一路线、所述第二路线生成所述场景区域对应的路网。
8.根据权利要求1-7任一项所述的路网生成方法,其特征在于,在根据所述初始路线以及每一所述目标起始点发出的且与所述初始路线相连接的路线,生成所述场景区域内的路网之后,所述方法还包括:
确定所述路网中路径发生转折时的转折点;
在所述转折点的相邻路径中的确定距离所述转折点预设距离范围内的截断点;
根据所述截断点将所述路网分割为多条直线路径和多条转折路径;
对所述多条直线路径和所述多条转折路径进行道路渲染处理,以得到所述场景区域中的道路。
9.根据权利要求8所述的路网生成方法,其特征在于,对所述多条直线路径和所述多条转折路径进行道路渲染处理,以得到所述场景区域中的道路,包括:
对所述多条直线路径采用第一渲染处理方式,以得到多条直线道路;
对所述多条转折路径采用第二渲染处理方式,以得到多条转折道路;
根据所述多条直线道路和所述多条转折道路确定所述场景区域中的道路。
10.根据权利要求9所述的路网生成方法,其特征在于,所述根据所述多条直线道路和所述多条转折道路确定所述场景区域中的道路,包括:
确定多条直线路径在所述场景区域内分别对应的第一位置;
确定多条转折路径在所述场景区域内分别对应的第二位置;
根据所述第一位置、所述第二位置、所述多条直线道路和所述多条转折道路确定所述场景区域中的道路。
11.根据权利要求1-7任一项所述的路网生成方法,其特征在于,在所述根据初始路线以及每一目标起始点发出的且与初始路线相连接的路线,生成场景区域内的路网之后,所述方法还包括:
确定所述场景区域内障碍物的障碍物边缘及所述障碍物边缘的进出口;
以所述进出口为进出点向所述障碍物外垂直于所述障碍物边缘的方向发射第五射线,若所述第五射线与所述路网连接,则将所述第五射线的路径确定为所述障碍物的进出路线。
12.一种路网生成装置,其特征在于,包括:
第一确定模块,用于确定场景区域的区域边缘及所述区域边缘上对应的多个入口位置;
第一发射模块,用于以每一所述入口位置为起始点向所述场景区域内发射垂直于所述起始点所处的区域边缘的第一射线;
第二确定模块,用于在所述场景区域内的多条所述第一射线中,确定出长度最长的目标第一射线为初始路线,以及所述初始路线对应的第一起始点;
第三确定模块,用于在多个所述起始点中确定出所述第一起始点之外的目标起始点,依次确定每一所述目标起始点发出的且与所述初始路线相连接的路线;
生成模块,用于根据所述初始路线以及每一所述目标起始点发出的且与所述初始路线相连接的路线,生成所述场景区域内的路网。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1-11任一项所述的路网生成方法。
14.一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-11任一项所述的路网生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436471.8A CN115690373A (zh) | 2022-11-16 | 2022-11-16 | 路网生成方法、装置、计算机可读存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436471.8A CN115690373A (zh) | 2022-11-16 | 2022-11-16 | 路网生成方法、装置、计算机可读存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115690373A true CN115690373A (zh) | 2023-02-03 |
Family
ID=85054009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211436471.8A Pending CN115690373A (zh) | 2022-11-16 | 2022-11-16 | 路网生成方法、装置、计算机可读存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115690373A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117496476A (zh) * | 2024-01-02 | 2024-02-02 | 安徽蔚来智驾科技有限公司 | 路网生成方法、可读存储介质及智能设备 |
-
2022
- 2022-11-16 CN CN202211436471.8A patent/CN115690373A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117496476A (zh) * | 2024-01-02 | 2024-02-02 | 安徽蔚来智驾科技有限公司 | 路网生成方法、可读存储介质及智能设备 |
CN117496476B (zh) * | 2024-01-02 | 2024-03-26 | 安徽蔚来智驾科技有限公司 | 路网生成方法、可读存储介质及智能设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107469354B (zh) | 补偿声音信息的视觉方法及装置、存储介质、电子设备 | |
US10101874B2 (en) | Apparatus and method for controlling user interface to select object within image and image input device | |
CN107930119B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN109324749B (zh) | 绘图方法、装置、存储介质及电子设备 | |
CN111757241B (zh) | 音效控制方法、装置、音箱阵列及可穿戴设备 | |
EP2960866A2 (en) | Method and apparatus for creating curved surface model | |
WO2020007116A1 (zh) | 分屏窗口调节方法、装置、存储介质和电子设备 | |
WO2021129850A1 (zh) | 语音消息播放方法及电子设备 | |
CN108052407A (zh) | 一种应用程序崩溃防护方法、装置、设备及存储介质 | |
CN108984142B (zh) | 分屏显示方法、装置、存储介质和电子设备 | |
CN115690373A (zh) | 路网生成方法、装置、计算机可读存储介质及计算机设备 | |
CN111282271A (zh) | 移动终端游戏中的声音渲染方法、装置和电子设备 | |
CN112206517A (zh) | 一种渲染方法、装置、存储介质及计算机设备 | |
CN110286906B (zh) | 用户界面显示方法、装置、存储介质与移动终端 | |
CN108646917A (zh) | 智能设备控制方法及装置、电子设备和介质 | |
CN114782605A (zh) | 毛发虚拟模型的渲染方法、装置、计算机设备及存储介质 | |
CN112546627B (zh) | 路线指引方法、装置、存储介质及计算机设备 | |
JP2011092302A (ja) | ゲーム装置、ゲーム装置の制御方法、及びプログラム | |
CN110215686A (zh) | 游戏场景中的显示控制方法及装置、存储介质及电子设备 | |
CN112799754B (zh) | 信息处理方法、装置、存储介质及计算机设备 | |
CN110322289A (zh) | 一种反作弊检测方法、装置、服务器、终端和存储介质 | |
CN113905280B (zh) | 弹幕信息显示方法、装置、设备以及存储介质 | |
CN113426106B (zh) | 一种游戏中的显示控制方法、装置、电子设备和存储介质 | |
CN117156207A (zh) | 播放控制方法、装置、计算机设备和存储介质 | |
CN115564916A (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 |