System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种实景三维模型空间索引构建方法技术_技高网

一种实景三维模型空间索引构建方法技术

技术编号:41247945 阅读:4 留言:0更新日期:2024-05-09 23:57
本发明专利技术属于数字孪生技术领域,具体涉及一种实景三维模型空间索引构建方法,包括以下步骤:步骤1:解析实景三维模型的瓦片数据,解析LOD层次结构;步骤2:建立统一的LOD层次结构,创建统一的根瓦片和LOD参数,并且层数是3的倍数,完成的对LOD层次结构的重整;步骤3:计算实景三维模型的空间包围盒,重新将整个空间自上而下划分成均匀四叉树结构,并对网格进行编号,然后将每一层的瓦片数据填入到新的网格中,生成新的瓦片文件。本发明专利技术通过对索引结构进行优化,将大模型的索引树被拆分成大小基本一致的局部小索引,方便快速加载,有利于内存分配的优化,能够减少传输索引文件时对网络的压力,且不需要从整个模型的根节点出发进行查询,从而大大提高模型的随机读取性能。

【技术实现步骤摘要】

本专利技术属于数字孪生,具体涉及一种实景三维模型空间索引构建方法


技术介绍

1、近年来数字孪生技术已经广泛地应用在旅游、教育、房产、应急救援、智慧城市、安防等多个领域,该技术多基于b/s架构,将现实世界的三维立体模型与各类大数据信息有机整合在一起,为用户带来丰富的沉浸式体验;

2、为了满足沉浸式体验的需求以及保证内容生产的效率,就需要提供具备精细结构的真实感大规模场景三维实景模型,基于倾斜摄影测量的大规模三维实景建模是目前常用的技术手段之一;

3、大规模的三维实景模型数据会对b/s架构的应用造成巨大的加载压力,为了解决这个问题,业界通常的方法是模型数据按照三维空间进行切分,每个单位空间称为一个瓦片,一个瓦片对应的空间可以再次进行细分,从而构造出一个层次化的树状结构;树的叶子节点对应最原始的三维模型,而树的中间节点包含的三维模型结构都是对下一层模型的简化,从而得到一个lod层次结构(level-of-detail,lod)结构。当用户访问时,应用可以先加载最粗糙的三维模型,只对用户感兴趣的一部分区域加载较为精细的数据,这种lod结构可以大大减轻对网络传输和模型渲染的压力。

4、然而,随着模型的精细程度日渐提高,空间索引结构的层次也随之越来越深,这种索引方式也会存在性能上的问题:

5、1.现有的索引技术例如3dtiles也都是在osgb文件的基础上进行一定的模型优化,并进行索引数据和模型数据的分离,但不会对索引结构本身进行优化,系统需要一开始加载并在内存中维护一个庞大的索引结构,在处理大规模实景三维模型时,为了传输这些索引文件本身就会对网络造成很大的压力。

6、2.由于树状结构的原因,访问不同分支上的节点都需要从根节点开始往下遍历,当用户对模型进行频繁切换、放大缩小时,应用都需要重新从根节点找到并加载合适的模型数据,造成严重的性能问题。

7、3.目前倾斜摄影测量技术输出的树状结构(一般用osgb格式)在空间划分上不均匀,有些空间划分过于密集,有些又过于稀疏,这种不一致造成无法实现统一的数据结构,非常不利于对模型加载进行优化。


技术实现思路

1、本专利技术的目的是提供一种实景三维模型空间索引构建方法,通过对索引结构进行优化,将大模型的索引树被拆分成大小基本一致的局部小索引,方便快速加载,有利于内存分配的优化,能够减少传输索引文件时对网络的压力,且不需要从整个模型的根节点出发进行查询,从而大大提高模型的随机读取性能。

2、本专利技术采取的技术方案具体如下:

3、一种实景三维模型空间索引构建方法,包括以下步骤:

4、步骤1:解析实景三维模型的瓦片数据,解析lod层次结构;

5、步骤2:建立统一的lod层次结构,创建统一的根瓦片和lod参数,并且层数是3的倍数,完成的对lod层次结构的重整;

6、步骤3:计算实景三维模型的空间包围盒,重新将整个空间自上而下划分成均匀四叉树结构,并对网格进行编号,然后将每一层的瓦片数据填入到新的网格中,生成新的瓦片文件,完成对瓦片的重整;

7、步骤4:首先在lod层次结构的前三层建立根索引树,每个网格是树的一个节点,每一层网格数分别为1、4、16,根索引树的第三层16个网格继续进一步划分后产生64个网格,以这64个网格为根节点继续分别建立三层次级索引树,每一层网格数同样是1、4、16;依次类推,直到lod层次结构的最后一层,每个索引树均保存成一个json文件;

8、每个索引树包含三方面可访问性信息,包括节点内容可访问性、节点可访问性、次级索引可访问性,可访问性数据使用二进制数组保存,并采用z空间填充曲线将空间网格的坐标编码成莫顿码作为在二进制数组中的位置序号。

9、进一步地,所述步骤1包括以下步骤:

10、步骤101:使用osg开源库来读取大规模实景三维模型根目录和子目录中所有的osgb文件;

11、步骤102:根据大规模实景三维模型所有的osgb文件解析出lod层次结构。

12、进一步地,所述osgb文件内部包括lod细节层次元数据、包围盒信息、三维模型顶点和纹理信息。

13、进一步地,所述lod数据包括是否加载下一细节级别osgb文件的计算模式以及关联的下一级osgb文件。

14、进一步地,所述步骤2包括以下步骤:

15、步骤201:合并各个子目录根瓦片包含的顶点数据,再向上简化构造新的lod层,最上层作为整个lod层次结构的根节点,保存成一个osgb文件,作为模型初始加载的起点;

16、步骤202:计算第0层lod的几何误差,作为加载下一层lod层次结构的阈值。

17、进一步地,所述步骤201中lod层的简化方法可采用顶点聚类、区域合并、几何元素删除中任意一种算法。

18、进一步地,所述步骤3包括以下步骤:

19、步骤301:计算实景三维模型的空间包围盒空间范围时,不考虑海拔高度,只考虑模型的经纬度范围,最后实景三维模型的范围表示为:

20、[longmin,latmin,width,length]

21、其中,前longmin、latmin表示包围盒的左下角坐标,width、length表示包围盒的尺寸;

22、步骤302:将空间包围盒自上而下划分成均匀四叉树结构,层数为nnew,网格按照坐标系进行编号,编号的格式为(l,x,y),l表示lod的层序号,x、y分别表示网格沿着xy坐标轴的编号,空间包围盒的空间范围可直接计算得到为

23、这样,对于l层瓦片包含的顶点(vx,vy,vz)以及编号为(l,x,y)的网格,如果满足:

24、

25、

26、那么顶点(vx,vy,vz)属于该网格;

27、步骤303:将所有满足步骤2中公式条件的顶点连同其他关联信息一起,生成新的瓦片文件。

28、进一步地,所述lod的层序号从0开始计数,范围为[0,l-1],x,y∈[0,2l-1]。

29、本专利技术取得的技术效果为:

30、(1)本专利技术的一种实景三维模型空间索引构建方法通过对索引结构进行优化,将大模型的索引树被拆分成大小基本一致的局部小索引,方便快速加载,有利于内存分配的优化,能够减少传输索引文件时对网络的压力,且不需要从整个模型的根节点出发进行查询,从而大大提高模型的随机读取性能。

本文档来自技高网...

【技术保护点】

1.一种实景三维模型空间索引构建方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种实景三维模型空间索引构建方法,其特征在于:所述步骤1包括以下步骤:

3.根据权利要求2所述的一种实景三维模型空间索引构建方法,其特征在于:所述osgb文件内部包括LOD细节层次元数据、包围盒信息、三维模型顶点和纹理信息。

4.根据权利要求3所述的一种实景三维模型空间索引构建方法,其特征在于:所述LOD数据包括是否加载下一细节级别osgb文件的计算模式以及关联的下一级osgb文件。

5.根据权利要求2所述的一种实景三维模型空间索引构建方法,其特征在于:所述步骤2包括以下步骤:

6.根据权利要求5所述的一种实景三维模型空间索引构建方法,其特征在于:所述步骤201中LOD层的简化方法可采用顶点聚类、区域合并、几何元素删除中任意一种算法。

7.根据权利要求1所述的一种实景三维模型空间索引构建方法,其特征在于:所述步骤3包括以下步骤:

8.根据权利要求7所述的一种实景三维模型空间索引构建方法,其特征在于:所述LOD的层序号从0开始计数,范围为[0,L-1],x,y∈[0,2l-1]。

...

【技术特征摘要】

1.一种实景三维模型空间索引构建方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种实景三维模型空间索引构建方法,其特征在于:所述步骤1包括以下步骤:

3.根据权利要求2所述的一种实景三维模型空间索引构建方法,其特征在于:所述osgb文件内部包括lod细节层次元数据、包围盒信息、三维模型顶点和纹理信息。

4.根据权利要求3所述的一种实景三维模型空间索引构建方法,其特征在于:所述lod数据包括是否加载下一细节级别osgb文件的计算模式以及关联的下一级osgb文件。

5.根...

【专利技术属性】
技术研发人员:裘初高鹏东齐全王博
申请(专利权)人:中国传媒大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1