System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及虚拟建模生成,尤其涉及一种获取虚拟城市楼体的方法、装置、存储介质和电子设备。
技术介绍
1、在计算机图形学(cg,computer graphics)、游戏、无人驾驶等领域中,快速构建仿真场景,对于提升测试或仿真效率十分重要,在构建仿真场景的过程中,高复杂度的虚拟城市楼体场景更是一个难点。在较为复杂的虚拟城市楼体场景中,需要布设大量不同的楼体建筑物,这些楼体建筑物可能会由成千上万个不同的虚拟城市楼体模型组成,在仿真场景中形成一个不可分割的整体。由于仿真场景中虚拟城市楼体的布设方式多样、形状各异,因而,需要制作人员依据不同布设方式及形状进行虚拟城市楼体绘制,非常耗费人力和时间,使得获取虚拟城市楼体的效率较低。
技术实现思路
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、调用houdini应用程序中的extrudevolume节点,将俯视投影面片中的一面片挤压为几何体;
36、调用normal节点以及matchsize节点,将挤压后的几何体进行法线重置及坐标重置,以对挤压的几何体进行修正;
37、调用peak节点,对修正的几何体进行三维曲率计算,依据计算得到的三维曲率,对几何体进行向外拓展,对拓展的几何体进行拉伸,形成所述楼体包围盒。
38、本技术方案中的获取虚拟城市楼体的方法,通过读取预先构建的城市场景仿真模型中的城市楼体模型,剃除所述城市楼体模型的地面模型;对剃除地面模型的城市楼体模型在楼高方向上进行投影,得到俯视投影面片;对俯视投影面片中的每一面片,按照预先设置的挤压策略,对该面片进行挤压和拉伸,形成楼体包围盒,所述进行挤压后形成的楼体包围盒包裹该面片对应的城市楼体模型;对所述楼体包围盒与剃除地面的城市楼体模型进行求交集运算,获取单体的虚拟城市楼体。这样,对于城市场景仿真模型中作为整体的城市楼体模型,通过投影获取面片,利用面片进行挤压拉伸,形成楼体包围盒,通过与城市楼体模型的求交集运算,得到每一城市楼体模型对应的虚拟城市楼体,从而实现单体虚拟城市楼体的利用,使得获取虚拟城市楼体所需的时间短,有效提升获取虚拟城市楼体的效率。
39、根据本专利技术的第二方面,提供一种获取虚拟城市楼体的装置,获取虚拟城市楼体的装置包括:
40、数据点清洗模块,用于读取预先构建的城市场景仿真模型中的城市楼体模型,剃除所述城市楼体模型的地面模型;
41、投影模块,用于对剃除地面模型的城市楼体模型在楼高方向上进行投影,得到俯视投影面片;
42、包围盒生成模块,用于对俯视投影面片中的每一面片,按照预先设置的挤压策略,对该面片进行挤压和拉伸,形成楼体包围盒,所述进行挤压后形成的楼体包围盒包裹该面片对应的城市楼体模型;
43、楼体分离模块,用于对所述楼体包围盒与剃除地面的城市楼体模型进行求交集运算,获取单体的虚拟城市楼体。
44、根据本专利技术的第三方面,提供一种存储介质,其上存储有计算机程序,程序被处理器执行时实现第一方面的任意可能的实现方式中的获取虚拟城市楼体的方法的步骤。
45、根据本专利技术的第四方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现第一方面的任意可能的实现方式中的获取虚拟城市楼体的方法的步骤。
本文档来自技高网...【技术保护点】
1.一种获取虚拟城市楼体的方法,其特征在于,包括:
2.根据权利要求1所述的获取虚拟城市楼体的方法,其特征在于,所述剃除所述城市楼体模型的地面模型,包括:
3.根据权利要求1所述的获取虚拟城市楼体的方法,其特征在于,所述在形成楼体包围盒之后,还包括:
4.根据权利要求3所述的获取虚拟城市楼体的方法,其特征在于,所述对所述楼体包围盒与剃除地面的城市楼体模型进行求交集运算,获取单体的虚拟城市楼体,包括:
5.根据权利要求3所述的获取虚拟城市楼体的方法,其特征在于,所述对所述楼体包围盒与剃除地面的城市楼体模型进行求交集运算,获取单体的虚拟城市楼体,包括:
6.根据权利要求3所述的获取虚拟城市楼体的方法,其特征在于,还包括:
7.根据权利要求1至6任一项所述的获取虚拟城市楼体的方法,其特征在于,所述按照预先设置的挤压策略,对该面片进行挤压和拉伸,形成楼体包围盒,包括:
8.一种获取虚拟城市楼体的装置,其特征在于,所述获取虚拟城市楼体的装置包括:
9.一种存储介质,其特征在于,存储介质上存储程序
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7中任一项所述的获取虚拟城市楼体的方法的步骤。
...【技术特征摘要】
1.一种获取虚拟城市楼体的方法,其特征在于,包括:
2.根据权利要求1所述的获取虚拟城市楼体的方法,其特征在于,所述剃除所述城市楼体模型的地面模型,包括:
3.根据权利要求1所述的获取虚拟城市楼体的方法,其特征在于,所述在形成楼体包围盒之后,还包括:
4.根据权利要求3所述的获取虚拟城市楼体的方法,其特征在于,所述对所述楼体包围盒与剃除地面的城市楼体模型进行求交集运算,获取单体的虚拟城市楼体,包括:
5.根据权利要求3所述的获取虚拟城市楼体的方法,其特征在于,所述对所述楼体包围盒与剃除地面的城市楼体模型进行求交集运算,获取单体的虚拟城市楼体,包括:
6.根据权利要求3所述的获取...
【专利技术属性】
技术研发人员:刘阳,
申请(专利权)人:北京国科础智科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。