三维场景生成方法、装置及电子设备和存储介质与流程

文档序号:32857017发布日期:2023-01-07 00:07阅读:27来源:国知局
三维场景生成方法、装置及电子设备和存储介质与流程

1.本技术涉及信息处理技术领域,更具体地说,涉及一种三维场景生成方法、装置及电子设备和存储介质。


背景技术:

2.在一些虚拟三维场景(比如,虚拟展馆、闯关游戏中的闯关房间等)的设计场景中,需要设计大小不一的基础分场景(比如,基础房间),以及分场景之间的基础通道,以生成待渲染的三维场景,后续需要对待渲染的三维场景进行渲染设计,得到最终的三维场景。目前,这些基础分场景以及基础通道均是由设计人员人为设计,这种设计方式在分场景比较多时,设计效率较低。


技术实现要素:

3.本技术提供一种三维场景生成方法、装置及电子设备和存储介质,包括如下技术方案:
4.一种三维场景生成方法,所述方法包括:
5.生成基础三维场景,所述基础三维场景中包括多个基础分场景;
6.对所述基础三维场景进行三角剖分,得到三角剖分图,所述三角剖分图的每个结点为一个基础分场景;
7.基于所述三角剖分图生成最小生成树;
8.响应于路线编辑指令,对所述最小生成树进行编辑,以在所述最小生成树中增加若干条结点间路线,得到初始连通图;
9.对所述初始连通图进行无效路线识别和删减,得到待渲染三维场景。
10.上述方法,优选的,所述对所述初始连通图进行无效路线识别和删减,包括:
11.基于所述初始连通图中从预设的目标结点到每一个非目标结点的路径中结点间的路线长度和需建立的通道的长度满足条件,确定所述初始连通图中各个一跳结点间的路线的权重;
12.将所述初始连通图中权重小于阈值的路线作为无效路线进行删除,得到待渲染三维场景。
13.上述方法,优选的,所述基于所述初始连通图中从预设的目标结点到每一个非目标结点的路径中结点间的路线长度和需建立的通道的长度满足条件,确定所述初始连通图中各个一跳结点间的路线的权重,包括:
14.根据所述初始连通图中各个一跳结点间路线的权重,按照选择较大权重的路线方向的寻路原则,在所述初始连通图中选择从预设的目标结点到每一个非目标结点的至少一条路径;
15.统计选择的所有路径中各个一跳结点间路线的重复次数;
16.对于每一个一跳结点间路线,根据该一跳结点间路线的重复次数和该一跳结点间
路线的消耗量,对该一跳结点间的路线的权重进行更新;其中,该一跳结点间路线的重复次数越高,对应的更新后的权重越高;该一跳结点间路线的消耗量越低,对应的更新后的权重越高;
17.将选择的各条路径的路线长度和通道长度加权和,作为本次的寻路消耗量;
18.返回执行所述根据所述初始连通图中各个一跳结点间路线的权重,按照选择较大权重的方向的寻路原则,在所述初始连通图中选择从预设的目标结点到每一个非目标结点的一条路径,直至达到预设的寻路次数;
19.确定寻路消耗量最小时各个一跳结点间的路线的权重作为所述初始连通中各个一跳结点间的路线的最终权重。
20.上述方法,优选的,所述路线长度的权重和所述通道长度的权重均为可调参数。
21.上述方法,优选的,所述根据该一跳结点间路线的重复次数和该一跳结点间路线的消耗量,对该一跳结点间的路线的权重进行更新,包括:
22.获得该一跳结点间路线的重复次数与该一跳结点间路线的消耗量的差值;
23.将所述差值归一化,得到该一跳结点间路线的更新后的权重。
24.上述方法,优选的,所述生成基础三维场景,包括:
25.获得配置参数,所述配置参数包括:三维场景的尺寸,每个分场景的尺寸,以及分场景之间的最大间隔和最小间隔;
26.响应于基础场景生成指令,根据所述配置参数生成初始三维场景。
27.上述方法,优选的,所述生成基础三维场景,包括:
28.响应于基础三维场景编辑指令,生成基础三维场景。
29.一种三维场景生成装置,所述装置包括:
30.第一生成模块,用于生成基础三维场景,所述基础三维场景中包括多个基础分场景;
31.剖分模块,用于对所述多个基础分场景进行三角剖分,得到三角剖分图,所述三角剖分图的每个结点为一个基础分场景;
32.第二生成模块,用于基于所述三角剖分图生成最小生成树;
33.编辑模块,用于响应于路线编辑指令,对所述最小生成树进行编辑,以在所述最小生成树中增加若干条结点间路线,得到初始连通图;
34.删减模块,用于对所述初始连通图进行无效路线识别和删减,得到待渲染三维场景。
35.一种电子设备,包括:
36.存储器,用于存储程序;
37.处理器,用于调用并执行所述存储器中的所述程序,通过执行所述程序实现如上任一项所述的三维场景生成方法的各个步骤。
38.一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上任一项所述的三维场景生成方法的各个步骤。
39.通过以上方案可知,本技术提供的一种三维场景生成方法、装置及电子设备和存储介质,生成包括多个基础分场景的基础三维场景后,对基础三维场景进行三角剖分,得到三角剖分图,三角剖分图的每个结点为一个基础分场景;基于三角剖分图生成最小生成树,
该最小生成树中的任意两个结点之间只有一条路径;响应于路线编辑指令,对最小生成树进行编辑,以在最小生成树中增加若干条结点间路线,得到初始连通图;对所述初始连通图进行无效路线识别和删减,得到待渲染三维场景。本技术先对初始的分场景进行三角剖分,得到三角剖分图,基于三角剖分图生成最小生成树,然后由设计者对最小生成树进行编辑,以在最小生成树中增加若干条结点间路线得到初始连通图,最后对初始连通图进行无效路线的识别和删减,得到待渲染的三维场景,该过程中,只需要设计者在生成的最小生成树中增加若干条结点间路线即可,不需要设计者进行全部通道的设计,减少了设计者的工作量,提高了三维场景生成的效率,而且,由于设计者可以对最小生成树进行编辑,保证了三维场景的复杂度的可控性。
附图说明
40.为了更清楚地说明本技术实施例的技术方案,下面将对实施例所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本技术实施例提供的三维场景生成方法的一种实现流程图;
42.图2为本技术实施例提供的初始的delaunay三角网格的一种结构示意图;
43.图3为本技术实施例提供的将e结点加入三角网格的一种示例图;
44.图4为本技术实施例提供的对初始连通图进行无效路线识别和删减的一种实现流程图;
45.图5为本技术实施例提供的初始连通图的一种示例图;
46.图6为本技术实施例提供的建立通道后的连通图的一种示例图;
47.图7为本技术实施例提供的基于初始连通图中从预设的目标结点到每一个非目标结点的路径中结点间的路线长度和需建立的通道的长度满足条件,确定初始连通图中各个一跳结点间的路线的权重的一种实现流程图;
48.图8为本技术实施例提供的三维场景生成装置的一种结构示意图;
49.图9为本技术实施例提供的电子设备的一种结构示意图。
50.说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例,能够以除了在这里图示的以外的顺序实施。
具体实施方式
51.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.本技术实施例提供的三维场景生成方法的一种实现流程图如图1所示,可以包括:
53.步骤s101:生成基础三维场景,该基础三维场景中包括多个基础分场景。
54.作为示例,三维场景可以是虚拟展馆,也可以是闯关游戏中的闯关房间。以虚拟展
馆为例,虚拟展馆可以是单层空间展馆(类似于平房),也可以是多层空间的展馆(类似于楼房)。如果虚拟展馆是单层空间展馆,由于展馆内的房间的高度都是一样的,因此,基础三维场景可以通过一个大的矩形框,以及该大的矩形框内的多个小的矩形框表示,其中,大的矩形框表示整层空间的框架,而小的矩形框则表示整层空间内的房间或区域。如果虚拟展馆是多层空间的展馆,基础三维场景可以通过一个大的立方体表征,大的立方体被分隔成多层子空间,表示多个楼层,每层子空间的底面设置多个矩形框,每个矩形框表示该层子空间内的房间或区域。
55.作为示例,可以响应于基础三维场景编辑指令,生成基础三维场景。也就是说,基础三维场景可以是完全由设计人员手动编辑而生成的。
56.作为示例,可以获得配置参数,响应于基础场景生成指令,根据上述配置参数生成基础三维场景,其中,配置参数可以包括:三维场景的尺寸,每个分场景的尺寸,以及分场景之间的最大间隔和最小间隔等。也就是说,设计者在触发生成基础场景生成指令前,可以先进行参数配置,如果三维场景是单层空间的情况,则需配置的参数可以包括:三维场景的长度、宽度、高度,每个分场景的长度、宽度,以及分场景之间的最大间隔和最小间隔等;如果三维场景是多层空间的情况,则需配置的参数可以包括:多层空间的层数,每层空间的长度、宽度、高度,各层空间中分场景的数量,每个分场景的长度、宽度,以及同一层空间中分场景之间的最大间隔和最小间隔等。在完成参数配置后,设置人员可以执行指定操作以触发生成基础场景生成指令,然后由三维场景生成装置响应于基础场景生成指令,根据配置参数生成基础三维场景,实现基础三维场景的随机生成。进一步的,在随机生成基础三维场景后,还可以获得设计人员触发生成的基础三维场景编辑指令,对随机生成的基础三维场景进行编辑,包括对单层空间的大小的调节,对基础分场景的大小的调节,对基础分场景的位置的调节,增加新的分场景,或者,删除已有的基础分场景等。
57.步骤s102:对基础三维场景进行三角剖分,得到三角剖分图,该三角剖分图的每个结点为一个基础分场景。
58.作为示例,可以基于bowyer-watson算法对基础三维场景进行三角剖分。具体的,为便于叙述,将各个基础分场景作为一个结点(结点的坐标即为表征基础分场景的矩形框的中心坐标)构建三角网格,可以从基础三维场景中选择位于最边缘的一个结点作为原点建立参照坐标系,找到距离原点最近的三个点,两两连接,构成初始的delaunay三角网格。如图2所示,为本技术实施例提供的初始的delaunay三角网格的一种结构示意图,该示意图中,c结点为最边缘的结点,距离c结点最近的三个结点分别为a、b、d这三个结点,将这4个结点两两连接,构成初始的delaunay三角网格,该示例中,delaunay三角网格是三维的三角网格,比如,基础三维场景是多层空间的情况下。而在基础三维场景是单层空间的情况下,delaunay三角网格是二维的三角网格,即平面delaunay三角网格。
59.在得到初始的delaunay三角网格后,按照与原点的距离由近到远的顺序,每次从未加入三角网格的结点中选择距离原点最近的一个结点加入三角网格中。具体的,将第i个结点加入三角网格的过程包括:从delaunay三角网格中,找出所有外接球体(基础三维场景是多层空间的情况下)或圆形(基础三维场景是单层空间的情况下)包含第i个待加入三角网格的结点的三角形,将这些三角形中的公共边删除,形成一个空腔,空腔内的各结点与第i个待加入三角网格的结点连接,形成新的delaunay三角网格,如果没有找到外接球体/圆
形包含第i个待加入三角网格的结点的三角形,则在delaunay三角网格中找到距离第i个待加入三角网格的结点最近的三个结点分别与第i个待加入三角网格的结点连接。依此处理,直至所有的结点均接入delaunay三角网格,得到三角剖分图。如图3所示,为本技术实施例提供的将e结点加入三角网格的一种示例图,该示例中,在delaunay三角网格中,找到两个外接球体(这里用外接圆表示)包含e结点的三角形(三角形acd和三角形bcd),将这两个三角形的公共边删除,将abcd四个结点分别于结点e连接,形成新的delaunay三角网格。
60.步骤s103:基于三角剖分图生成最小生成树。
61.最小生成树中的任意两个结点之间只有一条路径。
62.作为示例,可以使用普里姆prim算法建立三角剖分图的最小生成树。三角剖分图中结点间边的权重可以为结点间边的长度。
63.步骤s104:响应于路线编辑指令,对最小生成树进行编辑,以在最小生成树中增加若干条结点间路线,得到初始连通图。
64.在得到最小生成树后,可以显示最小生成树,而且,设计者可以执行预设操作从而触发路线编辑指令,三维场景生成装置获得路线编辑指令,进入编辑状态,此时设计者可以对最小生成树进行编辑,可以在任意两个未建立有直接通道的结点间建立直接通道,从而在最小生成树中增加若干条结点间路线,以增加三维场景的复杂性。
65.步骤s105:对初始连通图进行无效路线识别和删减,得到待渲染三维场景。
66.在得到的初始连通图中,可能会存在一些不符合设计需要的路线,比如,不符合设计成本的需求的路线,因此,可以对初始连通图进行无效路线识别,并删除识别到的无效路线,得到最终的待渲染的三维场景。
67.本技术实施例提供的三维场景生成方法,先对初始的分场景进行三角剖分,得到三角剖分图,基于三角剖分图生成最小生成树,然后由设计者对最小生成树进行编辑,以在最小生成树中增加若干条结点间路线得到初始连通图,最后对初始连通图进行无效路线的识别和删减,得到待渲染的三维场景,该过程中,只需要设计者在生成的最小生成树中增加若干条结点间路线即可,不需要设计者进行全部通道的设计,减少了设计者的工作量,提高了三维场景生成的效率,而且,由于设计者可以对最小生成树进行编辑,保证了三维场景的复杂度的可控性。
68.在一可选的实施例中,上述对初始连通图进行无效路线识别和删减的一种实现流程图如图4所示,可以包括:
69.步骤s401:确定各个一跳结点间的路线的权重,具体包括:基于初始连通图中从预设的目标结点到每一个非目标结点的路径中结点间的路线长度和需建立的通道的长度满足条件,确定初始连通图中各个一跳结点间的路线的权重。
70.其中,目标结点可以是预设的作为三维场景中的起始结点的结点,也就是进入三维场景可以首先经过的结点。
71.其中,两个结点间的路线长度可以表征从该两个结点中的一个结点到达另一个结点所需要的运动消耗(比如,运动时长等);两个结点间的通道长度可以表征从该两个结点中的一个结点到达另一个结点建立通道所需要的设计消耗(比如,渲染时长等)。
72.如图5所示,为本技术实施例提供的初始连通图的一种示例图。该示例中,基础分场景间的连线表征该两个基础分场景间是可以连通的,也就是可以建立通道的。基于此,本
申请在可以连通的任意两个基础分场景之间建立这两个基础分场景之间的最短距离通道,如图6所示,为本技术实施例提供的建立通道后的连通图的一种示例图。本步骤是确定建立通道后的连通图中各个一跳结点间的路线的权重。
73.其中,从预设的目标结点到每一个非目标结点的路径中结点间的路线长度和需建立的通道的长度满足条件可以包括:从预设的目标结点到每一个非目标结点的路径中结点间的路线长度与通道长度的加权和满足条件。其中,
74.路线长度的权重和通道长度的权重均可以为可调参数。即设计者可以根据需求配置路线长度的权重和通道长度的权重,路线长度的权重和通道长度的权重之和为1。作为示例,如果路线长度的权重为1,通道长度的权重为0,则可以得到从预设的目标结点到每一个非目标结点的路径中结点间的路线长度之和满足条件的待渲染的三维场景;如果路线长度的权重为0,通道长度的权重为1,则可以得到从预设的目标结点到每一个非目标结点的路径中结点间的通道长度之和满足条件的待渲染的三维场景。如果路线长度的权重大于0且小于1,且通道长度的权重也大于0和小于1,则可以得到从预设的目标结点到每一个非目标结点的路径中结点间的路线长度和通道长度以不同比例满足条件的待渲染的三维场景。
75.步骤s402:将初始连通图中权重小于阈值的路线作为无效路线进行删除,得到待渲染三维场景。
76.路线的权重越小,说明该路线使得从预设的目标结点到每一个非目标结点的路径中结点间的路线长度和需建立的通道的长度满足条件的概率越低。
77.将权重小于阈值的路线删除,得到的待渲染的三维场景中从预设的目标结点到每一个非目标结点的路径中结点间的路线长度和需建立的通道的长度满足条件的概率更高。
78.在一可选的实施例中,上述基于初始连通图中从预设的目标结点到每一个非目标结点的路径中结点间的路线长度和需建立的通道的长度满足条件,确定初始连通图中各个一跳结点间的路线的权重的一种实现流程图如图7所示,可以包括:
79.步骤s701:在初始连通图中选择从预设的目标结点到每一个非目标结点的至少一条路径,具体可以根据初始连通图中各个一跳结点间路线的权重,按照选择较大权重的路线方向的寻路原则,在初始连通图中选择从预设的目标结点到每一个非目标结点的至少一条路径。
80.假设初始连通图中一共有m个非目标节点,对应每个非目标节点选择了了从目标结点到该非目标结点的n条路径,则一共选择了的m*n条路径,每一条路径由至少一个一跳结点间路线构成。
81.如图6所示,结点a与结点b之间为一跳结点间路线,结点a与结点c之间为一跳结点间路线,结点b与结点c之间为一跳结点间路线,结点b与结点d之间为一跳结点间路线,结点c与结点f之间为一跳结点间路线,结点d与结点e之间为一跳结点间路线,结点e与结点f之间为一跳结点间路线。
82.步骤s702:统计选择的所有路径中各个一跳结点间路线的重复次数。
83.本技术统计m*n条路径中,各个一跳结点间路线的重复次数。
84.步骤s703:对一跳结点间的路线的权重进行更新,具体可以为:对于每一个一跳结点间路线,根据该一跳结点间路线的重复次数和该一跳结点间路线的消耗量,对该一跳结点间的路线的权重进行更新;其中,该一跳结点间路线的重复次数越高,对应的更新后的权
重越高;该一跳结点间路线的消耗量越低,对应的更新后的权重越高。
85.一跳结点间路线的消耗量可以为一跳结点间路线的长度。
86.步骤s704:将选择的各条路径的路线长度和通道长度加权和,作为本次的寻路消耗量。
87.由于通道只需要在结点(分场景)间建立,而不需要在结点(分场景)内部建立,而在从目标结点到达某个非目标结点时,则需要从经过的结点(分场景)内部通过,因此,对于每一条路径而言,该条路径的路线长度包括经过的结点(分场景)内的路线的长度,而该条路径的通道长度不包括经过的结点(分场景)内的路线长度,因此,该条路径的路线长度大于该条路径的通道长度。
88.对于m*n条路径中第j(j=1,2,3,
……
,m*n)条路径,将第j条路径的路线长度和通道长度加权求和,得到第j条路径的寻路消耗量,将得到m*n条路径的寻路消耗量求和,得到本次的寻路消耗量。
89.返回执行步骤s701,直至达到预设的寻路次数(记为t)。具体的,得到本次的寻路消耗量后,判断是否达到预设寻路次数了,如果判断结果为是,则不再返回执行步骤s701,而是进入步骤s705,如果判断结果为否,则将寻路次数t加1后,再返回执行步骤s701。
90.步骤s705:确定各个一跳结点间的路线的最终权重,具体可以包括:确定寻路消耗量最小时各个一跳结点间的路线的权重作为初始连通图中各个一跳结点间的路线的最终权重。
91.因为进行了t次寻路,因此会得到t个寻路消耗量,本技术从t个寻路消耗量中选择最小的一个寻路消耗量,将寻路消耗量最小时各个一跳结点间的路线的权重作为初始连通中各个一跳结点间的路线的最终权重。
92.在一可选的实施例中,上述根据该一跳结点间路线的重复次数和该一跳结点间路线的消耗量,对该一跳结点间的路线的权重进行更新的一种实现方式可以为:
93.获得该一跳结点间路线的重复次数与该一跳结点间路线的消耗量的差值。
94.将差值归一化,得到该一跳结点间路线的更新后的权重。可选的,可以通过如下方式对差值进行归一化:
95.获得目标路线集合,所述目标路线集合中的目标路线为选择的所有路径中互不相同的一跳结点间路线。也就是说,将上述m*n条路径中互不相同的一跳结点间路线挑选出来构成目标路线集合。比如,假设有6条路径,分别为:a-b,a-b-c,a-b-d,a-b-c-f-e,a-b-c-f,则从这6条路径中获得的目标路线集合包括{a-b,b-c,b-d,c-f,f-e}。
96.对应每一个目标路线,获得该目标路线的重复次数与该目标路线的消耗量的差值。
97.计算该一跳结点间路线的重复次数与该一跳结点间路线的消耗量的差值,与各个目标路线对应的差值的和值的比值,得到该一跳结点间路线的更新后的权重。
98.获得各个目标路线对应的差值后,可以将各个目标路线对应的差值求和,得到差值之和,对于每一个目标路线,将该目标路线对应的差值与上述差值之和的比值,确定为该目标路线对应的更新后的权重。
99.以{a-b,b-c,b-d,c-f,f-e}这一目标路线集合中的目标路线a-b为例,在计算得到目标路线a-b的重复次数与该目标路线a-b的消耗量的差值diff1,目标路线b-c的重复次数
与该目标路线b-c的消耗量的差值diff2,目标路线b-d的重复次数与该目标路线b-d的消耗量的差值diff3,目标路线c-f的重复次数与该目标路线c-f的消耗量的差值diff4,目标路线f-e的重复次数与该目标路线f-e的消耗量的差值diff5后,目标路线a-b对应的更新后的权重可以为:
100.diff1/(diff1+diff2+diff3+diff4+diff5)
101.同理,目标路线b-c对应的更新后的权重可以为:
102.diff2/(diff1+diff2+diff3+diff4+diff5)
103.目标路线b-d对应的更新后的权重可以为:
104.diff3/(diff1+diff2+diff3+diff4+diff5)
105.目标路线c-f对应的更新后的权重可以为:
106.diff4/(diff1+diff2+diff3+diff4+diff5)
107.目标路线f-e对应的更新后的权重可以为:
108.diff5/(diff1+diff2+diff3+diff4+diff5)
109.与方法实施例相对应,本技术实施例还提供一种三维场景生成装置。本技术实施例提供的三维场景生成装置的一种结构示意图如图8所示,可以包括:
110.第一生成模块801,剖分模块802,第二生成模块803,编辑模块804和删减模块805;其中,
111.第一生成模块801用于生成基础三维场景,所述基础三维场景中包括多个基础分场景;
112.剖分模块802用于对所述多个基础分场景进行三角剖分,得到三角剖分图,所述三角剖分图的每个结点为一个基础分场景;
113.第二生成模块803用于基于所述三角剖分图生成最小生成树;
114.编辑模块804用于响应于路线编辑指令,对所述最小生成树进行编辑,以在所述最小生成树中增加若干条结点间路线,得到初始连通图;
115.删减模块805用于对所述初始连通图进行无效路线识别和删减,得到待渲染三维场景。
116.本技术实施例提供的三维场景生成装置,先对初始的分场景进行三角剖分,得到三角剖分图,基于三角剖分图生成最小生成树,然后由设计者对最小生成树进行编辑,以在最小生成树中增加若干条结点间路线得到初始连通图,最后对初始连通图进行无效路线的识别和删减,得到待渲染的三维场景,该过程中,只需要设计者在生成的最小生成树中增加若干条结点间路线即可,不需要设计者进行全部通道的设计,减少了设计者的工作量,提高了三维场景生成的效率,而且,由于设计者可以对最小生成树进行编辑,保证了三维场景的复杂度的可控性。
117.在一可选的实施例中,所述删减模块805包括:
118.确定单元,用于基于所述初始连通图中从预设的目标结点到每一个非目标结点的路径中结点间的路线长度和需建立的通道的长度满足条件,确定所述初始连通图中各个一跳结点间的路线的权重;
119.删减单元,用于将所述初始连通图中权重小于阈值的路线作为无效路线进行删除,得到待渲染三维场景。
120.在一可选的实施例中,所述确定单元具体用于:
121.根据所述初始连通图中各个一跳结点间路线的权重,按照选择较大权重的路线方向的寻路原则,在所述初始连通图中选择从预设的目标结点到每一个非目标结点的至少一条路径;
122.统计选择的所有路径中各个一跳结点间路线的重复次数;
123.对于每一个一跳结点间路线,根据该一跳结点间路线的重复次数和该一跳结点间路线的消耗量,对该一跳结点间的路线的权重进行更新;其中,该一跳结点间路线的重复次数越高,对应的更新后的权重越高;该一跳结点间路线的消耗量越低,对应的更新后的权重越高;
124.将选择的各条路径的路线长度和通道长度加权和,作为本次的寻路消耗量;
125.返回执行所述根据所述初始连通图中各个一跳结点间路线的权重,按照选择较大权重的方向的寻路原则,在所述初始连通图中选择从预设的目标结点到每一个非目标结点的一条路径,直至达到预设的寻路次数;
126.确定寻路消耗量最小时各个一跳结点间的路线的权重作为所述初始连通中各个一跳结点间的路线的最终权重。
127.在一可选的实施例中,所述路线长度的权重和所述通道长度的权重均为可调参数。
128.在一可选的实施例中,所述确定单元根据该一跳结点间路线的重复次数和该一跳结点间路线的消耗量,对该一跳结点间的路线的权重进行更新时,用于:
129.获得该一跳结点间路线的重复次数与该一跳结点间路线的消耗量的差值;
130.将所述差值归一化,得到该一跳结点间路线的更新后的权重。
131.在一可选的实施例中,所述第一生成模块801具体用于:
132.获得配置参数,所述配置参数包括:三维场景的尺寸,每个分场景的尺寸,以及分场景之间的最大间隔和最小间隔;
133.响应于基础场景生成指令,根据所述配置参数生成初始三维场景。
134.在一可选的实施例中,所述第一生成模块801具体用于:
135.响应于基础三维场景编辑指令,生成基础三维场景。
136.与方法实施例相对应,本技术还提供一种电子设备,该电子设备的一种结构示意图如图9所示,可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
137.在本技术实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信。
138.处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路等。
139.存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器。
140.其中,存储器3存储有程序,处理器1可调用存储器3存储的程序,所述程序用于:
141.生成基础三维场景,所述基础三维场景中包括多个基础分场景;
142.对所述基础三维场景进行三角剖分,得到三角剖分图,所述三角剖分图的每个结点为一个基础分场景;
143.基于所述三角剖分图生成最小生成树;
144.响应于路线编辑指令,对所述最小生成树进行编辑,以在所述最小生成树中增加若干条结点间路线,得到初始连通图;
145.对所述初始连通图进行无效路线识别和删减,得到待渲染三维场景。
146.可选的,所述程序的细化功能和扩展功能可参照上文描述。
147.本技术实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
148.生成基础三维场景,所述基础三维场景中包括多个基础分场景;
149.对所述基础三维场景进行三角剖分,得到三角剖分图,所述三角剖分图的每个结点为一个基础分场景;
150.基于所述三角剖分图生成最小生成树;
151.响应于路线编辑指令,对所述最小生成树进行编辑,以在所述最小生成树中增加若干条结点间路线,得到初始连通图;
152.对所述初始连通图进行无效路线识别和删减,得到待渲染三维场景。
153.可选的,所述程序的细化功能和扩展功能可参照上文描述。
154.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
155.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
156.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
157.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
158.应当理解,本技术实施例中,从权、各个实施例、特征可以互相组合结合,都能实现解决前述技术问题。
159.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存
储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
160.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1