CN111815770A - Web模型轻量化处理方法、装置及可读存储介质 - Google Patents
Web模型轻量化处理方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN111815770A CN111815770A CN202010613973.8A CN202010613973A CN111815770A CN 111815770 A CN111815770 A CN 111815770A CN 202010613973 A CN202010613973 A CN 202010613973A CN 111815770 A CN111815770 A CN 111815770A
- Authority
- CN
- China
- Prior art keywords
- sub
- data block
- tile
- tile data
- new
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 61
- 238000000034 method Methods 0.000 claims abstract description 26
- 230000009467 reduction Effects 0.000 claims abstract description 19
- 238000005056 compaction Methods 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 18
- 238000009877 rendering Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 7
- 238000012800 visualization Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 239000013585 weight reducing agent Substances 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Abstract
本发明提供了一种Web模型轻量化处理方法、装置及可读存储介质,所述方法包括:获取待优化三维场景的数据结构;其中,待优化三维场景包括至少一个子瓦片数据块;计算出每个子瓦片数据块的精简度,若所述子瓦片数据块的精简度超过预设精简值,则对所述子瓦片数据块进行第一处理,生成新子瓦片数据块;将新子瓦片数据块分别部署在相应的第一边界体中,将至少一个第一边界体中的新瓦片数据块部署在相应的第二边界体;依次类推,直至将所有新子瓦片数据块分配在一个边界体中等。本发明通过对所有精简度超过预设精简值的子瓦片数据块进行第一处理实现对待优化三维场景的轻量化处理,提高三维场景的展示和加载速度,提升用户体验感。
Description
技术领域
本发明涉及三维可视化技术领域,具体的说,涉及了一种Web模型轻量化处理方法、装置及可读存储介质。
背景技术
以网络通信技术和计算机技术的发展为基础,基于Web的三维可视化技术应运而生,在近年内发展迅猛,在建筑、地理信息等行业有着广泛的应用。例如在建筑领域,良好的三维效果能够极大地提高效率,给予决策者更直观的表现以帮助对其质量和成果的评估,减少不必要的浪费;在虚拟现实领域,三维可视化可以提供更加真实、更具视觉冲击效果的场景,更可以完美的再现一些古代的场景,使观者畅游其中仿若身临其境一般;在医学领域,对病人进行三维的可视化能极大地帮助医生对病人实施更加精确的手术,提高手术的成功率,有效的促进了医学的发展。
传统展示三维模型数据的手段主要有Web3D技术,Web3D技术可以简单地把它看成是Web技术和3D技术相结合的产物,其本质特征,即网络性、三维性和交互性,需要安装插件或者加载组件。Web3D技术包括VRML(Virual Reality Modeling Language)、Java3D、Flash3D等技术,其中,VRML虚拟现实建模语言,可产生交互式的虚拟场景,本质上属于数据文件,需要安装插件或者加载组件;Java3D不仅能够像VRML、X3D一样支持视景图形处理,还能够支持更高层次的图形处理,也需要安装插件或者加载组件。也就是说,上述技术无一例外都存着插件安装繁琐或组件加载困难的问题,而且操作过程复杂、操作人员不易学习、兼容性差的问题,使Web3D技术的发展受到限制。
随着webgl规范(不需要组件加载的网络三维可视化技术)的确立,三维模型数据在常用浏览器中即可实现可视化,无需安装插件、无需加载组件。webgl为浏览器提供了硬件图形加速渲染,借助计算机系统显卡,用户可在浏览器中流畅观看三维模型和3D场景。但是,由于三维场景模型往往复杂程度高、数据规模庞大,三维模型数据也面临着数据量多,在Web端存储、传输上存在数据拥堵和加载卡顿的现象;且当前大部分企业的网络带宽不足以支撑庞大的三维模型数据传输,在基于web展示时通常会由于数据过大导致无法加载或者加载过于缓慢,严重影响用户体验。现今,Web端模型的存储,加载和显示难题是业内普遍的共识。
在进行webgl显示前,首先要对原始格式的三维模型数据进行解析和转换,在转换过程中对数据进行轻量化,得到尽可能小的中间格式文件,使三维模型能被快速加载,并减少服务器上三维模型所占用的空间,所以模型轻量化算法是基于webgl展示技术的关键。
目前存在的三维场景模型轻量化技术,存在几何体复用严重、数据冗余和索引范围重叠率高的问题。(1)现有轻量化技术对于不同节点引用相同几何体的情况,进行几何体复制,对所有顶点数据都做了矩阵烘培,这种方式可以简化处理流程,但是最大缺陷就是数据存在冗余;(2)现有轻量化技术对几何体进行层级细化时,相同的几何体数据会出现在多个层级,导致最终这部分数据被存储了多次,造成数据冗余;(3)现有轻量化技术使用非严格的八叉树索引,即使用几何体的中心点来计算空间索引,一旦几何体相对数据块tile的尺度差异较小,那么八叉树索引带来严重的索引范围重叠,甚至是出现数据分割失败的情况。
为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
发明内容
本发明的目的是针对现有技术的不足,从而提供一种Web模型轻量化处理方法、装置及可读存储介质。
本发明第一方面提供一种Web模型轻量化处理方法,它包括以下步骤:
获取待优化三维场景的数据结构;其中,待优化三维场景包括至少一个子瓦片数据块;
计算出每个子瓦片数据块的精简度,若所述子瓦片数据块的精简度超过预设精简值,则对所述子瓦片数据块进行第一处理,生成新子瓦片数据块;
将新子瓦片数据块分别部署在相应的第一边界体中,将至少一个第一边界体中的新瓦片数据块部署在相应的第二边界体;依次类推,直至将所有新子瓦片数据块分配在一个边界体中;
对所述新子瓦片数据块进行处理获得前缀数据块,并对所述前缀数据块和新子瓦片数据块进行拼接,获得子瓦片分组;
基于所述前缀数据块,所述子瓦片分组与第一边界体之间映射关系,以及各个边界体之间映射关系,获得每个新子瓦片数据块的索引数据,基于所述索引数据建立新子瓦片数据块的索引表。
本申请第二方面提供了一种Web模型轻量化处理装置,包括:
第一数据模块,用于获取待优化三维场景的数据结构;
第一精简模块,用于基于所述数据结构,计算出所述数据结构中每个子瓦片数据块的精简度,若所述子瓦片数据块的精简度超过预设精简值,则对所述子瓦片数据块进行第一处理,生成新子瓦片数据块;其中,待优化三维场景包括至少一个子瓦片数据块;
部署模块,用于将新子瓦片数据块分别部署在相应的第一边界体中,将至少一个第一边界体中的新瓦片数据块部署在相应的第二边界体;依次类推,直至将所有新子瓦片数据块分配在一个边界体中;
分组模块,用于对所述新子瓦片数据块进行处理获得前缀数据块,并对所述前缀数据块和新子瓦片数据块进行拼接,获得子瓦片分组;
以及索引创建模块,用于基于所述前缀数据块,所述子瓦片分组与第一边界体之间映射关系,以及各个边界体之间映射关系,获得每个新子瓦片数据块的索引数据,基于所述索引数据建立新子瓦片数据块的索引表。
本发明相对现有技术具有突出的实质性特点和显著的进步,具体的说:
1)本发明提供一种Web模型轻量化处理方法及系统,通过对每个子瓦片数据块的精简度进行判断,并对所有精简度超过预设精简值的子瓦片数据块进行第一处理;从而实现对待优化三维场景的轻量化处理,提高三维场景的展示和加载速度,提升用户体验感;
本发明采用R树索引基于第一处理后获得的新子瓦片数据块建立索引表,索引范围的重叠率低,对近距离观察模型优化效果显著;
2)根据不同精度需求,为不同的子瓦片数据块分配不同的预设精简值,以便在提高三维场景的展示和加载速度的同时,不影响局部显示效果;
3)在对所述子瓦片数据块进行第一处理,生成新子瓦片数据块之后,还依据节点总数和新子瓦片数据块总数判断是否对所述新子瓦片数据块进行第二处理;若节点总数和新子瓦片数据块总数不相等,则判定新子瓦片数据块存在重复引用的情况,通过第二处理,对重复引用的新子瓦片数据块,保存一份新子瓦片数据块数据复用即可,减少模型存储量,提高显示效率;
4)按照预置规则部署新子瓦片数据块后,计算出包围盒覆盖最小值;若包围盒覆盖最小值超过阈值,则调整预置规则,从而对索引表进行调整,进一步提高显示效率;
5)本发明还根据待优化三维场景所包含的模型类型,判断是否调用点云精简算法进行处理;对特定室外模型点云精简算法进行处理,支持模型及超大场景模型进行平均化采样,数据结构简单,渲染资源消耗少(无纹理),渲染性能高,处理不受模型个数及文件大小的限制。
附图说明
图1是本发明的web模型轻量化处理方法的步骤示意图。
图2是本发明的新子瓦片数据块部署的一种具体实施例的示意图。
具体实施方式
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
一种Web模型轻量化处理方法,它包括以下步骤:
获取待优化三维场景的数据结构;其中,待优化三维场景包括至少一个子瓦片数据块;
基于所述数据结构,计算出每个子瓦片数据块的精简度,若所述子瓦片数据块的精简度超过预设精简值,则对所述子瓦片数据块进行第一处理,生成新子瓦片数据块;
将新子瓦片数据块分别部署在相应的第一边界体中,将至少一个第一边界体中的新瓦片数据块部署在相应的第二边界体;依次类推,直至将所有新子瓦片数据块分配在一个边界体中;
对所述新子瓦片数据块进行处理获得前缀数据块,并对所述前缀数据块和新子瓦片数据块进行拼接,获得子瓦片分组;其中,所述前缀数据块包括新子瓦片数据块序号和总数;
基于所述前缀数据块,所述子瓦片分组与第一边界体之间映射关系,以及各个边界体之间映射关系,获得每个新子瓦片数据块的索引数据,基于所述索引数据建立新子瓦片数据块的索引表。
例如,一个细致的物体,它可能需要生成多级细节层次LOD,导致模型数据geom1相同的数据就会出现在多个层级,占用存储空间。数据去冗机制会判定每个子瓦片数据块的精简性,将需精简的子瓦片数据块tile内的数据剥离出去,生成一个新子瓦片数据块tile,这个旧子瓦片数据块tile不会在后续数据中存在,实现数据去冗。
可以理解,对整个待优化场景的数据结构分析前,对于给定的待优化场景,首先分析整个待优化场景的数据结构。分析过程为:通过引用树状节点Node,在节点Node下挂N个子节点,节点Node用一个或者多个子瓦片数据块(几何体geometry)表现,子瓦片数据块(几何体geometry)又可以被多个节点Node引用,再通过矩阵Matrix表示子瓦片数据块(几何体geometry)的不同位置坐标,达到子瓦片数据块(几何体geometry)共享的效果。
需要说明的是,现有轻量化技术使用非严格的八叉树索引,即使用几何体的中心点来计算空间索引,一旦几何体相对子瓦片数据块tile的尺度差异较小,那么八叉树索引带来严重的索引范围重叠,甚至是出现数据分割失败的情况。而评价空间索引的标准之一就是索引范围的重叠率,八叉树索引忽略了这个重要参数。
本发明采用R树索引,图2中Title1至Title6表示新子瓦片数据块,将新子瓦片数据块Title1和新子瓦片数据块Title2布置在次一级瓦片数据块Title7中,将新子瓦片数据块Title4至新子瓦片数据块Title6布置在次一级瓦片数据块Title8中;将次一级瓦片数据块Title7和新子瓦片数据块Title3布置在更高一级瓦片数据块Title9。本发明中的三维R树索引算法使用所有空间对象的最小外接矩形MBR为索引创建参数,最终计算得到一种包围盒覆盖最小的索引方案;尤其当距离模型较近观察时,这种可视性裁剪将带来巨大的渲染优化,对近距离观察模型优化效果显著。
其中,所述子瓦片数据块包括一个几何体或一个以上几何体;每个几何体包括三角形、矩形或者其他。
进一步的,所述子瓦片数据块包括若干三角形;所述子瓦片数据块的精简度的计算公式为:
Re=MAX(EdgeCost(u,v))-K
EdgeCost(u,v)=Length(u,v)*Error(u,v)
其中,Re表示子瓦片数据块的精简度,Re>0表示子瓦片数据块的精简度超过预设精简值,Re≤0表示子瓦片数据块的精简度未超过预设精简值;MAX(EdgeCost(u,v))表示子瓦片数据块中两个相邻顶点之间移动所需距离最大值,K表示预设精简值;u和v代表子瓦片数据块中任意两个相邻顶点;
EdgeCost(u,v)表示所述子瓦片数据块中任意两个相邻顶点之间移动所需距离值,Length(u,v)表示所述子瓦片数据块中任意相邻两个顶点之间距离,Error(u,v)表示所述子瓦片数据块中任意两个相邻顶点中的一个顶点折叠到另一个顶点之后加权的三角面法向的变化量;
Wti表示第i个三角形的权重,θ表示子瓦片数据块中任意两个相邻顶点中其中一个顶点与X轴之间的极角,θ∈(0,2π),ti表示一个三角形集合中的第i个三角形;Tu表示在对所述子瓦片数据块内的三角形进行第一处理之前,包含移动所需距离最大值的两个相邻顶点中的一个顶点的所有三角形集合;Tuv表示在对所述子瓦片数据块内的三角形进行第一处理之前,包含移动所需距离最大值的两个相邻顶点的所有三角形集合;t表示一个三角形,T表示一个三角形集合。
进一步的,对所述子瓦片数据块进行第一处理时,执行以下操作:
步骤S101,从每个子瓦片数据块中筛选出待精简因子;所述待精简因子为所述子瓦片数据块中相邻顶点之间移动所需距离超过预设精简值的两个相邻顶点;
步骤S102,基于待精简因子筛选出待优化三角形,去除所述待优化三角形;所述待优化三角形为所有包含所述待精简因子的三角形;
步骤S103,将待精简因子中两个相邻顶点合并为一个顶点,更新所述子瓦片数据块中所有剩余的三角形,获得新子瓦片数据块。
需要说明的是,对数据实施去冗余机制前,如果子瓦片数据块的精简度超过预设精简值,说明较多的三角形被分块规则放在一个子瓦片数据块tile内,需对这个子瓦片数据块tile内的所有三角形进行精简。
如果两个几何体刚好被分块规则放在一个子瓦片数据块tile内,需对这个子瓦片数据块tile内的所有几何体进行精简。其中,只要输出结果不超过设定的最大数据块尺寸maxdatasize,这个子瓦片数据块tile就不会再被分割。
在具体实施例中,根据不同精度需求,为不同的子瓦片数据块分配不同的预设精简值。一个三维场景中,并不是每个部分都需要精细化展示,为了提高三维场景的展示和加载速度,同时不影响观赏效果;为用户重点关注的部分设置第一预设精简值,为用户非重点关注的部分设置第二预设精简值,为用户通常忽略的部分设置第三预设精简值,其中,第一预设精简值>第二预设精简值>第三预设精简值。
进一步的,在对所述子瓦片数据块进行第一处理,生成新子瓦片数据块之后,还执行:统计待优化三维场景的节点总数和新子瓦片数据块总数;若节点总数和新子瓦片数据块总数不相等,则对所述新子瓦片数据块进行第二处理。其中,若节点总数和新子瓦片数据块总数不相等,说明待优化三维场景的数据结构中存在新子瓦片数据块重复引用状态,需要调用复用优化算法对所述新子瓦片数据块进行第二处理,以进一步减少数据存储量,提高三维场景加载速度和展示效率。
进一步的,对所述新子瓦片数据块进行第二处理时,执行:利用回调函数forEach()遍历所有新子瓦片数据块;通过过滤函数filter()过滤掉复用的新子瓦片数据块,并将筛选出的新子瓦片数据块作为一个新数组返回;基于筛选出的新子瓦片数据块的引用关系及位置关系,构建新数组对应的位置列表。其中,复用的新子瓦片数据块指的是不同的节点引用的相同新子瓦片数据块数据。需要说明的是,模型加载过程中,不同节点引用的相同新子瓦片数据块数据从获得的新数组中提取即可。
需要说明的是在将网格数据或多个不同精度的构件进行储存时,由于场景中的很多构件,都是同一类构件重复使用,其模型数据是相同的,只是其偏移的位置不同,因此重复引用的模型数据只需要保存一份即可,不同位置的构件只需要保存不同的位置信息。这样就能极大减少模型的存储量,在客户端显示时,也能达到显示效率更加优化的效果。
可以理解,待优化的三维场景中还存在着节点总数(nodeRefFaceCount)大于新子瓦片数据块总数(几何体总数geometryCount)的问题,这意味着存在新子瓦片数据块重复引用的情况。本发明对于不同节点引用相同新子瓦片数据块的情况,无需对所有顶点数据都做了矩阵烘培,只对筛选出的新子瓦片数据块的顶点数据做矩阵烘培,从而实现复用优化,减少数据冗余。其中,矩阵烘培指的是为新子瓦片数据块加上灯光或渲染效果图。
进一步的,按照预置规则部署新子瓦片数据块后,计算出新子瓦片数据块对应的第一边界体体积;若第一边界体体积超过阈值,则调整预置规则。其中,基于每个新子瓦片数据块的点云数据的三维坐标,计算出X轴、Y轴和Z轴方向的最大值和最小值,即Xmax、Xmin、Ymax、Ymin、Zmax、Zmin;通过X轴、Y轴和Z轴方向的最大值和最小值,获得包围盒覆盖最小值V;V=(Xmax-Xmin)×(Ymax-Ymin)×(Zmax-Zmin)。其中,第一边界体体积指的是包围盒覆盖最小值V。
需要说明的是,获得覆盖最小值的包围盒时,执行以下步骤:步骤301,利用PCA主元分析法获得新子瓦片数据块点云的三个主方向,获取质心,根据新子瓦片数据块点云的坐标计算协方差,获得协方差矩阵,求取协方差矩阵的特征值和特征向量,最大的特征向量即为主方向;步骤302,利用步骤301中获得的主方向和质心,将新子瓦片数据块点云转换至原点,且主方向与坐标系方向重回,建立变换到原点的新子瓦片数据块点云的包围盒;步骤303,给新子瓦片数据块点云设置主方向和包围盒,通过新子瓦片数据块点云到原点点云变换的逆变换实现。
进一步的,若待优化三维场景包括特定室外模型,则调用点云精简算法进行处理;如附图1所示。所述点云精简算法包括以下步骤:
步骤201,把特定室外模型处理为室外模型点云数据;采用滤波法对特定室外模型点云数据做降噪预处理;
步骤202,采用栅格边长小于L的包围盒方法对降噪预处理后的特定室外模型点云数据进行处理,处理过程中保持点云数据全部几何特征;其中,L为预设栅格边长,预设栅格边长可以根据实际经验确定并进行调整;
步骤203,计算第一点云数据中每个点的切面法向夹角系数,并依据法向夹角系数对步骤202获得的第一点云数据进行分类处理;
步骤204,采用不同栅格大小的包围盒方法对分类后的各点云数据集分别进处理,将数据进一步精简;
步骤205,整合步骤204中处理后的点云数据,对整体点云做均化处理,得到精简后的特定室外模型的完整点云数据。
需要说明的是,特定室外模型指的是写字楼、体育馆和公园等,特定室外模型通常包含的新子瓦片数据块数量、存储量及索引量均较大,严重影响三维场景的展示和加载速度。为了进一步提高三维场景的展示和加载速度,本发明还调用点云精简算法将大规模室外模型进行简化。对模型的表面进行平均化采样,保留每个点的坐标值、纹理颜色值、法向量等,生成大范围模型的密集点云数据。
在小比例尺(相机位置更高)下使用点云渲染,采用合理的点云精简算法和合适的点大小,保证相对完整的可视化效果。随着相机距离接近建筑物,数据逐渐从点云切换为建筑物模型的原始三角网模型。大规模点云渲染的优势在于,点云简化算法更容易,而且稳定性较好,不考虑模型结构信息,数据平均性很好。点云渲染数据结构简单,渲染资源消耗少(无纹理),渲染性能高。因此,本发明采用点云渲染,可以大大的减少了数据量,提升渲染细节。
实施例2
基于实施例1中的Web模型轻量化处理方法,本实施例给出了一种Web模型轻量化处理装置。
本实施例中,所述Web模型轻量化处理装置包括:第一数据模块,用于获取待优化三维场景的数据结构;第一精简模块,用于基于所述数据结构,计算出所述数据结构中每个子瓦片数据块的精简度,若所述子瓦片数据块的精简度超过预设精简值,则对所述子瓦片数据块进行第一处理,生成新子瓦片数据块;其中,待优化三维场景包括至少一个子瓦片数据块,每个子瓦片数据块包括至少一个三角形;部署模块,用于将新子瓦片数据块分别部署在相应的第一边界体中,将至少一个第一边界体中的新瓦片数据块部署在相应的第二边界体;依次类推,直至将所有新子瓦片数据块分配在一个边界体中;分组模块,用于对所述新子瓦片数据块进行处理获得前缀数据块,并对所述前缀数据块和新子瓦片数据块进行拼接,获得子瓦片分组;以及索引创建模块,用于基于所述前缀数据块,所述子瓦片分组与第一边界体之间映射关系,以及各个边界体之间映射关系,获得每个新子瓦片数据块的索引数据,基于所述索引数据建立新子瓦片数据块的索引表。
需要说明的是,索引创建模块采用三维R树,每个R树的叶子结点包含了多个指向不同新子瓦片数据块的指针,这些新子瓦片数据块可以是存放在硬盘中的,也可以是存在内存中。根据R树的这种数据结构,当需要进行一个高维空间查询时,只需要遍历少数几个叶子结点所包含的指针,查看这些指针指向的新子瓦片数据块是否满足要求即可。这种方式使得进行展示时不必遍历所有数据即可获得答案,效率显著提高。
进一步的,所述Web模型轻量化处理装置还包括第二精简模块,所述第二精简模块,用于在节点总数和新子瓦片数据块总数不相等时,对所述新子瓦片数据块进行第二处理;第二处理包括以下步骤:利用回调函数forEach()遍历所有新子瓦片数据块;通过过滤函数filter()过滤掉复用的新子瓦片数据块,并将筛选出的新子瓦片数据块作为一个新数组返回;基于筛选出的新子瓦片数据块的引用关系及位置关系,构建新数组对应的位置列表。
进一步的,所述Web模型轻量化处理装置还包括第三精简模块,所述第三精简模块用于在待优化三维场景包括特定室外模型时,调用点云精简算法进行处理;所述点云精简算法包括以下步骤:步骤201,把特定室外模型处理为室外模型点云数据;采用滤波法对特定室外模型点云数据做降噪预处理;步骤202,采用栅格边长小于L的包围盒方法对降噪预处理后的特定室外模型点云数据进行处理,获得第一点云数据;步骤203,计算第一点云数据中每个点的切面法向夹角系数,并依据法向夹角系数对步骤202获得的第一点云数据进行分类处理;步骤204,采用不同栅格大小的包围盒方法对分类后的各点云数据分别进处理;步骤205,整合步骤204中处理后的点云数据,对整体点云做均化处理,得到精简后的特定室外模型的完整点云数据。
实施例3
本实施例给出了一种可读存储介质,其上存储有指令,该指令被处理器执行时实现如上述的Web模型轻量化处理方法的步骤。
本实施例给出一种可读存储介质,其上在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等存储有指令,该指令被处理器执行时实现上述的流媒体数据发送方法的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (10)
1.一种Web模型轻量化处理方法,其特征在于,包括以下步骤:
获取待优化三维场景的数据结构;其中,待优化三维场景包括至少一个子瓦片数据块;
计算出每个子瓦片数据块的精简度,若所述子瓦片数据块的精简度超过预设精简值,则对所述子瓦片数据块进行第一处理,生成新子瓦片数据块;
将新子瓦片数据块分别部署在相应的第一边界体中,将至少一个第一边界体中的新瓦片数据块部署在相应的第二边界体;依次类推,直至将所有新子瓦片数据块分配在一个边界体中;
对所述新子瓦片数据块进行处理获得前缀数据块,并对所述前缀数据块和新子瓦片数据块进行拼接,获得子瓦片分组;
基于所述前缀数据块,所述子瓦片分组与第一边界体之间映射关系,以及各个边界体之间映射关系,获得每个新子瓦片数据块的索引数据,基于所述索引数据建立新子瓦片数据块的索引表。
2.根据权利要求1所述的Web模型轻量化处理方法,其特征在于:所述子瓦片数据块的精简度的计算公式为:
Re=MAX(EdgeCost(u,v))-K
EdgeCost(u,v)=Length(u,v)*Error(u,v)
其中,Re表示子瓦片数据块的精简度,Re>0表示子瓦片数据块的精简度超过预设精简值,Re≤0表示子瓦片数据块的精简度未超过预设精简值;MAX(EdgeCost(u,v))表示子瓦片数据块中两个相邻顶点之间移动所需距离最大值,K表示预设精简值;u和v代表子瓦片数据块中任意两个相邻顶点;
EdgeCost(u,v)表示所述子瓦片数据块中任意两个相邻顶点之间移动所需距离值,Length(u,v)表示所述子瓦片数据块中任意相邻两个顶点之间距离,Error(u,v)表示所述子瓦片数据块中任意两个相邻顶点中的一个顶点折叠到另一个顶点之后加权的三角面法向的变化量;
Wti表示第i个三角形的权重,θ表示子瓦片数据块中任意两个相邻顶点中其中一个顶点与X轴之间的极角,θ∈(0,2π),ti表示一个三角形集合中的第i个三角形;Tu表示在对所述子瓦片数据块内的三角形进行第一处理之前,包含移动所需距离最大值的两个相邻顶点中的一个顶点的所有三角形集合;Tuv表示在对所述子瓦片数据块内的三角形进行第一处理之前,包含移动所需距离最大值的两个相邻顶点的所有三角形集合;t表示一个三角形,T表示一个三角形集合。
3.根据权利要求2所述的Web模型轻量化处理方法,其特征在于:对所述子瓦片数据块进行第一处理时,执行以下操作:
步骤S101,从每个子瓦片数据块中筛选出待精简因子;所述待精简因子为所述子瓦片数据块中相邻顶点之间移动所需距离超过预设精简值的两个相邻顶点;
步骤S102,基于待精简因子筛选出待优化三角形,去除所述待优化三角形;
步骤S103,将待精简因子中两个相邻顶点合并为一个顶点,更新所述子瓦片数据块中所有剩余的三角形,获得新子瓦片数据块。
4.根据权利要求1至3任一项所述的Web模型轻量化处理方法,其特征在于:为不同的子瓦片数据块分配不同的预设精简值。
5.根据权利要求1所述的Web模型轻量化处理方法,其特征在于,在对所述子瓦片数据块进行第一处理,生成新子瓦片数据块之后,还执行:统计待优化三维场景的节点总数和新子瓦片数据块总数;若节点总数和新子瓦片数据块总数不相等,则对所述新子瓦片数据块进行第二处理。
6.根据权利要求5所述的Web模型轻量化处理方法,其特征在于,对所述新子瓦片数据块进行第二处理时,执行:
利用回调函数forEach()遍历所有新子瓦片数据块;
通过过滤函数filter()过滤掉复用的新子瓦片数据块,并将筛选出的新子瓦片数据块作为一个新数组返回;
基于筛选出的新子瓦片数据块的引用关系及位置关系,构建新数组对应的位置列表。
7.根据权利要求1所述的Web模型轻量化处理方法,其特征在于:按照预置规则部署新子瓦片数据块后,计算出新子瓦片数据块对应的第一边界体体积;若第一边界体体积超过阈值,则调整预置规则。
8.根据权利要求1所述的Web模型轻量化处理方法,其特征在于:若待优化三维场景包括特定室外模型,则调用点云精简算法进行处理;所述点云精简算法包括以下步骤:
步骤201,把特定室外模型处理为室外模型点云数据;采用滤波法对特定室外模型点云数据做降噪预处理;
步骤202,采用栅格边长小于L的包围盒方法对降噪预处理后的特定室外模型点云数据进行处理,获得第一点云数据;
步骤203,计算第一点云数据中每个点的切面法向夹角系数,并依据法向夹角系数对步骤202获得的第一点云数据进行分类处理;
步骤204,采用不同栅格大小的包围盒方法对分类后的各点云数据分别进处理;
步骤205,整合步骤204中处理后的点云数据,对整体点云做均化处理,得到精简后的特定室外模型的完整点云数据。
9.一种Web模型轻量化处理装置,其特征在于,包括:
第一数据模块,用于获取待优化三维场景的数据结构;
第一精简模块,用于基于所述数据结构,计算出所述数据结构中每个子瓦片数据块的精简度,若所述子瓦片数据块的精简度超过预设精简值,则对所述子瓦片数据块进行第一处理,生成新子瓦片数据块;其中,待优化三维场景包括至少一个子瓦片数据块;
部署模块,用于将新子瓦片数据块分别部署在相应的第一边界体中,将至少一个第一边界体中的新瓦片数据块部署在相应的第二边界体;依次类推,直至将所有新子瓦片数据块分配在一个边界体中;
分组模块,用于对所述新子瓦片数据块进行处理获得前缀数据块,并对所述前缀数据块和新子瓦片数据块进行拼接,获得子瓦片分组;
以及索引创建模块,用于基于所述前缀数据块,所述子瓦片分组与第一边界体之间映射关系,以及各个边界体之间映射关系,获得每个新子瓦片数据块的索引数据,基于所述索引数据建立新子瓦片数据块的索引表。
10.一种可读存储介质,其上存储有指令,其特征在于:该指令被处理器执行时实现如权利要求1-8任一项所述的Web模型轻量化处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613973.8A CN111815770B (zh) | 2020-06-30 | 2020-06-30 | Web模型轻量化处理方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613973.8A CN111815770B (zh) | 2020-06-30 | 2020-06-30 | Web模型轻量化处理方法、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111815770A true CN111815770A (zh) | 2020-10-23 |
CN111815770B CN111815770B (zh) | 2024-05-03 |
Family
ID=72855670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010613973.8A Active CN111815770B (zh) | 2020-06-30 | 2020-06-30 | Web模型轻量化处理方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111815770B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112184798A (zh) * | 2020-11-27 | 2021-01-05 | 武大吉奥信息技术有限公司 | 一种基于WebGL三维的表面积计算方法及装置 |
CN113140037A (zh) * | 2021-05-13 | 2021-07-20 | 天讯方舟(北京)信息科技有限公司 | 一种建筑信息模型轻量化和三维场景可视化系统 |
CN115409906A (zh) * | 2022-11-02 | 2022-11-29 | 中国测绘科学研究院 | 一种大规模倾斜摄影模型轻量化方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510228A (zh) * | 2009-03-26 | 2009-08-19 | 山东理工大学 | 产品stl模型非均匀精简方法 |
KR101548647B1 (ko) * | 2014-12-19 | 2015-08-31 | 한국건설기술연구원 | 3차원 지형정보 가시화 프로세서 및 그 동작방법 |
CN106909640A (zh) * | 2017-02-16 | 2017-06-30 | 杭州新迪数字工程系统有限公司 | 基于webgl的三维模型轻量化展示技术 |
CN108230439A (zh) * | 2017-12-28 | 2018-06-29 | 苏州慧筑信息科技有限公司 | 一种用于web端三维模型轻量化方法、电子设备及存储介质 |
CN109145366A (zh) * | 2018-07-10 | 2019-01-04 | 湖北工业大学 | 基于Web3D的建筑信息模型轻量级可视化方法 |
-
2020
- 2020-06-30 CN CN202010613973.8A patent/CN111815770B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510228A (zh) * | 2009-03-26 | 2009-08-19 | 山东理工大学 | 产品stl模型非均匀精简方法 |
KR101548647B1 (ko) * | 2014-12-19 | 2015-08-31 | 한국건설기술연구원 | 3차원 지형정보 가시화 프로세서 및 그 동작방법 |
CN106909640A (zh) * | 2017-02-16 | 2017-06-30 | 杭州新迪数字工程系统有限公司 | 基于webgl的三维模型轻量化展示技术 |
CN108230439A (zh) * | 2017-12-28 | 2018-06-29 | 苏州慧筑信息科技有限公司 | 一种用于web端三维模型轻量化方法、电子设备及存储介质 |
CN109145366A (zh) * | 2018-07-10 | 2019-01-04 | 湖北工业大学 | 基于Web3D的建筑信息模型轻量级可视化方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112184798A (zh) * | 2020-11-27 | 2021-01-05 | 武大吉奥信息技术有限公司 | 一种基于WebGL三维的表面积计算方法及装置 |
CN113140037A (zh) * | 2021-05-13 | 2021-07-20 | 天讯方舟(北京)信息科技有限公司 | 一种建筑信息模型轻量化和三维场景可视化系统 |
CN115409906A (zh) * | 2022-11-02 | 2022-11-29 | 中国测绘科学研究院 | 一种大规模倾斜摄影模型轻量化方法及装置 |
CN115409906B (zh) * | 2022-11-02 | 2023-03-24 | 中国测绘科学研究院 | 一种大规模倾斜摄影模型轻量化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111815770B (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106600679B (zh) | 一种三维模型数据简化的方法 | |
CN111815770A (zh) | Web模型轻量化处理方法、装置及可读存储介质 | |
US9773343B2 (en) | Method for real-time and realistic rendering of complex scenes on internet | |
KR101546703B1 (ko) | 대용량 건물 bim데이터의 시각화 시스템 | |
US8725466B2 (en) | System and method for hybrid solid and surface modeling for computer-aided design environments | |
KR101546705B1 (ko) | Bim데이터 처리단말 장치의 건물내부 bim데이터 가시화 방법 | |
JP4140812B2 (ja) | グラフィックス・モデルのサーフェスの向きのディテール指向の階層表現を生成する方法 | |
US20230042578A1 (en) | Method for Generating a Hierarchical Data Structure, Hierarchical Data Structure, and Method for Streaming Three-Dimensional Objects | |
EP1866870A2 (en) | Rendering 3d computer graphics using 2d computer graphics capabilities | |
CN115937461A (zh) | 多源融合模型构建及纹理生成方法、装置、介质及设备 | |
CN112906125B (zh) | 铁路固定设施bim模型轻量化加载方法 | |
CN111028349B (zh) | 一种适用于海量三维实景数据快速可视化的层级构建方法 | |
CN112328722A (zh) | 电力变电站三维gis和模型数据快速加载方法和系统 | |
Weber et al. | Visualization of adaptive mesh refinement data | |
Glander et al. | Techniques for generalizing building geometry of complex virtual 3D city models | |
CN115731354A (zh) | 一种基于视觉关系的电网设备三维孪生模型切片简化方法 | |
Glander et al. | Automated cell based generalization of virtual 3D city models with dynamic landmark highlighting | |
CN114332411A (zh) | 一种三维图形实时网格的生成方法 | |
Kang et al. | An efficient simplification and real-time rendering algorithm for large-scale terrain | |
Shakaev et al. | View-Dependent Level of Detail for Real-Time Rendering of Large Isosurfaces | |
CN113591208B (zh) | 一种基于舰船特征提取的超大模型轻量化方法及电子设备 | |
CN116958457A (zh) | 一种基于OSGEarth的战争迷雾效果绘制方法 | |
Smith et al. | Layered animation using displacement maps | |
KR101287513B1 (ko) | 3차원 렌더링을 위한 격자 기반의 텍스처 매핑장치 및 방법 | |
Discher | Towards the Interactive Rendering of Dynamic 3D Point Clouds |
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 |