Web环境下三维复杂模型的简化与可视化方法研究

第28卷第2期测㊀绘㊀工㊀程
V o l  28,N o  22019年3月
E n g i n e e r i n g o f S u r v e y i n g a n d M a p p i n g
M a r .,2019
引用著录:郭建雄,程朋根,晏启明,等.W e b 环境下三维复杂模型简化与可视化方法研究[J ].测绘工程,2019,28(2):45G51.
D O I :10 19349/j
c n k i  i s s n 1006G7949 2019 02 009W e b 环境下三维复杂模型的简化与可视化方法研究
郭建雄1,程朋根1,2
,晏启明3,许㊀敏1
(1.东华理工大学测绘工程学院,江西南昌330013;2.广西空间信息与测绘重点实验室,广
西桂林541004;3.宜春市房地产管理局,江西宜春336000
)摘㊀要:大规模三维模型数据传输和可视化是面向W e b 的3D G I S 应用的关键技术之一.而三维复杂模型较大的数据量和有限的网络带宽又制约着大规模三维模型传输和可视化的发展.文中结合三维模型简化技术与渐进式传输可视化技术,以电力杆塔模型的简化和传输为例开展研究,并利用C e s i u m 平台进行模型可视化,通过实验对该方法进行验证.结果表明,该方法简单㊁实用,模型传输和渲染效率显著提高,不同分辨率模型之间切换顺畅,使复杂精细的三维模型脱离了专业平台的束缚,在W e b 环境下的应用更加便捷和高效.关键词:三维复杂模型;模型简化;渐进式可视化
中图分类号:P 208㊀㊀㊀文献标识码:A㊀㊀㊀文章编号:1006G7949(2019)02G0045G07
R e s e a r c ho n t h e s i m p
l i f i c a t i o na n d v i s u a l i z a t i o no f 3Dc o m p
l e xm o d e l i nw e b e n v i r o n m e n t G U OJ i a n x i o n g 1,C H E N GP e n g g e n 1,
2,Y A N Q i m i n g 3,
X U M i n 1
mathcad2001
(1.C o l l e g eo fG e o m a t i c s ,E a s tC h i n a U n i v e r s i t y o fT e c h n o l o g y ,N a n c h a n g 330013,C h i n a ;2.G u a n g x iK e y L a b o r a t o r y o
f S p
a t i a l I n f o r m a t i o na n dG e o m a t i c s ,G u i l i n541004,C h i n a ;3.Y i c h u nR e a l E s t a t eA d m i n i s t r a t i o n ,Y i c h u n336000,C h i n a )A
b s t r a
c t :I t i so n eo f t h ek e y t e c h n i q u e sa s t h e l a r g
e Gs c a l e t h r e e Gd i m e n s i o n a lm o d e l d a t av i s u a l i z a t i o na n d t r a n s m i s s i o n
f o r t h ew e b Go r i e n t e d3D G I Sa p p l i c a t i o n .T h e l a r
g ed a t av o l u m eo f3Dc o m p l e x m o d e l a n d n e t w o r kb a n d w i d t ha r e l i m i t e dw
h
i c hr e s t r i c t s t h ed e v e l o p m e n to f l a r g e Gs c a l e3D m o d e l v i s u a l i z a t i o na n d t r a n s m i s s i o n .T h i s p a p e rc o m b i n e s3D m o d e ls i m p l i f i c a t i o nt e c h n o l o g y w i t h p r o g r e s s i v et r a n s m i s s i o n v i s u a l i z a t i o nt e c h n o l o g y t os i m p l i f y a n dt r a n s m i tt h e p o w e rt o w e r m o d e l ,a n df i n a l l y u
s e s C e s i u m t o d i s p l a y t h em o d e l .T h em e t h o d i s v e r i f i e d b y c o m p a r i s o n e x p
e r i m e n t s .T h e r e s u l t s h o w s t h a t t h em e t h o d i s s i m p l e a n d p r a c t i c a l ,t h em o d e l t r a n s m i s s i o na n dr e n d e r i n g e
f f i c i e n c y a r es i
g n i f i c a n t l y i m p
r o v e d ,a n dt h e s w i t c h i n g b e t w e e nd i f f e r e n t r e s o l u t i o nm o d e l s i s s m o o t h ,w h i c hm a k e s t h e c o m p l e xa n d r e f i n e d3D m o d e l o u t o f t h e c o n s t r a i n t s o f t h e p r o f e s s i o n a l p l a t f o r m.T h e a p p l i c a t i o n t o t h e e n v i r o n m e n t i sm o r e c o n v e n i e n t a n d e f f i c i e n t .
K e y w o r d s :t h r e e Gd i m e n s i o n a l c o m p l e xm o d e l ;m o d e l s i m p l i f i c a t i o n ;p r o g r e s s i v e v i s u a l i z a t i o n 收稿日期:2018G11G18
基金项目:国家重点研发计划课题(2017Y F B 0503704);国家自然科学基金资助项目(41861052;41861062)
;广西空间信息与测绘重点实验室基金资助项目(16G380G25G29
)第一作者简介:郭建雄(1994-),男,硕士研究生.通信作者简介:程朋根(1964-)
,男,教授,博士.㊀㊀随着计算机技术㊁
通信技术以及数字地球技术日益成熟和发展,在W e b 2 0时代虚拟地球逐渐从客户端向网页端过渡.为了解决有限带宽与日益
增长的三维模型数据之间的矛盾,一个有效的渐进传输可视化策略十分必要[1
].以C e s i u m 为主的利
用纯W e b 端技术(包括W e b G L ,H T M L ,J a v a
S c r i p t )开发的虚拟地球平台,可以无插件㊁跨平台地在网页上展示三维复杂模型[2]
.C e s i u m 支持G L T F 和3D T i l e s [3]
两种模型数据格式,
实现单体化模型和海量三维模型数据的渐进传输可视化,大
大提升W e b 端三维模型可视化的性能[4].
随着对象模型的复杂度增加,其模型描述通常由数万或数亿个三角面片组成.为了满足计算机分析㊁显示和存储的要求,一种常见的解决方案是在不严重损失物体视觉特性的前提下,简化对象的网格模型,用较少数量的面片表示模型.对象模型的不同简化版本构成细节层次(L O D模型)或多分辨率[5].为了简化三维模型,S c h r o e d e r[6]提出了一
个平面准则,即在局部范围内拟合一个平面,删除小于指定精度的样本点并重新三角化保留点.以这种方式,大量的小三角形被少量的大三角形代替,从而可以获得不同复杂度级别的相同场景模型的三角形网格描述.类似地,H a m a n n[7]提出了曲率准则,即删除曲率小于制定误差的点.T u r k[8]提出一种基于网格重建的简化多边形模型方法,该方法将一组新的顶点分布到原始模型中,通过使用原始网格三角形的顶点的曲率和三角形的面积作为因子来确定新顶点的位置.国内学术界也在模型简化领域开
外墙外保温系统展有效的研究工作.周坤和施家英等提出基于顶点聚类的三角网格折叠算法,使用八叉树进行网格自适应划分,该方法通过点到平面的距离来执行误差控制[9].潘志庚和马小虎提出了一种基于三角形删除准则的网格模型简化方法,减少了计算量,具有较高的删除率[10].熊仕勇提出一种基于半边折叠的L O D三维模型简化算法[11],较有效地解决了简化后模型重要几何特征不明显的问题,实现三维模型的L O D层次构建.然而这些方法未能结合模型具体特征结构,对于具有特殊结构和纹理细节的模型不能达到很好的简化效果.
本文在边折叠算法的基础上结合模型结构识别,提出基于结构的边折叠算法.结合该算法利用开源工具将通用格式的原始复杂三维模型简化并转换为不同分辨率的G L T F模型和3D T i l e s模型,利用渐进式传输可视化技术在C e s i u m平台进行模型展示.
1㊀模型简化方法
通常情况下三维模型由点㊁线和面基本元素构成,因此三维模型简化即是对模型点㊁线和面的基本操作.其中顶点删除方式简化的主要流程为:选中模型的一个顶点,计算它到其邻面的距离,若距离小于指定的阈值则删除,并重新三角化.该方法虽然占用计算资源较少,但因空洞问题,难以保持模型表面的光滑.边折叠方法是目前较为广泛应用的简化方式,其主要流程为:计算三维模型中所有边的权值,删除边权值最小的边,然后立即更新该局部区域的拓扑结构[12].这类算法的几何意义直观,实现难永磁同步电机
度较小,因此是现阶段研究的主流方向.面折叠算法和边折叠算法类似,只是从删除边改为删除面.因为面折叠算法减少的几何元素数量是边折叠的两倍,所以简化效率更高但是对模型的特征影响较大,因此简化质量不如边折叠算法好.
中国少年儿童队改名为中国少年先锋队
一个模型往往由多个独立的几何体组合而成,每个几何体可以单独设置一个材质(颜㊁纹理),以提高模型的视觉效果.三维模型根据几何关系可分为主体结构和细节结构,主体结构是指三维模型主要组成部分间的连接关系,为模型的整体框架和大体形象,细节结构是指三维模型表面所有功能部件和结构部件间的连接关系[13].
本文提出基于结构的边折叠算法,主要思路为:首先,通过分析同材质的三角面数量识别出模型的几何主体结构和细节结构;其次,采取边折叠算法对模型主体结构进行简化㊁面折叠算法对模型细节结构进行简化,以保证在大幅度提高模型简化效率的同时达到主体结构保持,细节结构删除的目标.图1为采用该方法得到的模型简化对比图,其中图1(a)为原始模型,图1(b)为删除小细节后的简化模型,图1(c)为删除大细节后的简化模型.2㊀三维复杂模型可视化
C e s i u m是国外一个基于A p a c h e开源协议,基于J a v a S c r i p t编写的使用W e b G L进行硬件加速图形化的地图引擎.可无插件㊁跨平台㊁跨浏览器实现真正的动态数据可视化图形绘制.C e s i u m加载三维模型有两种格式:一种是针对单体化模型的G L T F;一种是针对海量数据的3
D T i l e s格式.
2 1㊀G L T F
G L T F的全称是G L传输格式,是一种针对G L (W e b G L,O p e n G L E S和O p e n G L)接口的运行时资产(a s s e t).在3D内容的传输和加载中,G L T F 通过提供高效㊁可协作㊁易扩展的格式填补了3D建模工具和现代G L应用程序之间的空白.使用G L T F的用户可以使用现有工具来处理模型并减少模型中的数据量.图2是G L T F的一般结构,分为4个大块:顶部j s o n描述模型的节点级别㊁材质㊁相机㊁动画和其他相关的逻辑结构;b i n对应于这些对象的具体数据信息;g l s l是模型渲染的着器;然后是纹理内容.使用B a s e64编码将大块内容移动到文件中,这样便于复制和加载,也可用U R I的外链方式,侧重重用性.
64 测㊀绘㊀工㊀程㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第28卷
图1㊀
模型简化对比
图2㊀G L T F 结构
㊀㊀加载G L T F 模型有两种方法:一种是E n t i t y 方法,将M o d e l 视作几何体进行加载,方法简单效果单一;另一种是以P r i m i t i v e 的方式,它可设置多样化属性.C e s i u m 对M o d e l 的渲染是基于状态的更
新,M o d e l 有3个状态:加载(N E E D S _L O A D )
㊁解析(L O A D I N G )和结束(L O A D E D )
.首先解析G L T F 的头信息,也就是j s o n 对象(是否有动画㊁数据视图具体情况㊁是否有扩展属性等),了解该模型的大概结构;其次是解析G L T F 数据,
对每个结构中的数据解析并赋值(顶点数据和索引㊁材料㊁纹理等,动画,R u n t i m e 封装到对应的R u n t i m e N o d e
),这是最复杂,也是最关键的过程之一;三是更新动态属性,将其传递给相应的着器参数(动画㊁骨骼等,更新相应变量的节点矩阵,重新组合对应节点级别的矩阵等);最后,在彻底解析完数据之后,构造一个相应的绘图命令(D r a w c o m m a n d )并将其添加到渲染队列中;如果数据包含一些时态数据,例如动画㊁蒙皮等,则必须动态调整每一帧.这是更新(u p
d a t
e )的主要4种状态和逻辑,其过程如图3所示
.
图3㊀G L T F 渲染流程
2 2㊀3D T i l e s
3D T i l e s 是C e s i u m 在G L T F 基础上推出的
W e b 环境下海量三维模型数据规范,在继承G L T F 优点的同时添加渐进L O D 方法,也就是通过视距来调整场景复杂度,渐进L O D 不直接置换模型,而是随着视点的靠近,不断地在模型上补充细节.
3D T i l e s 将大数据量三维数据以分块㊁
分层的形式组织起来,可以大量减轻浏览器和G P U 的负担,是一个优秀的,并且格式公开的数据格式.
3D T i l e s 的渲染也基于状态的,如图4所示,可分为3个状态层,其中细线(紫)箭头表示状态变化.从L O A D I N G (
加载)状态开始,通过一系列的r e q
u e s t ,完成最初的数据加载过程,结束L O A D GI N G 状态,进入P R O C E S S I N G (预处理)状态,也就是数据解析.数据解析完后进入R E A D Y (准备)状态,通过s e l e c t T i l e ,最终调用C o n t e n t 对应的u p G
74 第2期㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀郭建雄,等:W e b 环境下三维复杂模型的简化与可视化方法研究
d a t e方法,构造最终的d r a w c o m m a n d,加入渲染队列.当然,如果有需要释放的T i l e,则在u n l o a dGT i l
e s中处理.无论是j s o n的解析还是构造D r a wGC o m m a n d,都与G L T F相同,在u p d a t e完成,只是所在状态不同,如图4中的粗线(红)箭头指示.
利用o b j2g l t f㊁o b j23d t i l e s开源工具结合基于结构的边收缩算法,对原始模型进行简化,并转换为G L T F格式以及构建3D T i l e s格式的多分辨率模型,然后通过D r a c o算法将其压缩.
D r a c o是由谷歌C h r o m e媒体团队设计,旨在大幅加速3D数据的编码㊁传输和解码,可以被用来压缩m e s h和点云数据.它还支持压缩点(c o mGp r e s s i n gp o i n t s)㊁连接信息㊁颜信息㊁纹理协调㊁法线等其他与几何相关的通用属性.
最后使用N o d e j s进行解析和发布,N o d e j s 是一个基于C h r o m e J a v a S c r i p t运行时的平台,可以轻松构建响应迅速且易于扩展的W e b应用程序. N o d e j s轻量且高效,使用事件驱动的非阻塞I/O 模型,非常适合在分布式设备上运行数据密集型实时应用程序.通过h t m l网页就可在浏览器查看已发布的3D模型.
图4㊀3D T i l e s渲染调度流程
3㊀实验与分析
3 1㊀实验数据与实验流程
本实验使用的模型数据为电力模型,电力模型与一般城市模型不同,具有单体模型数据量大㊁密度高等特点,单个杆塔模型的数据量可达到300M 以上,对W e b三维平台造成巨大压力,因此如何对这种单体电力模型进行优化,提高其传输和渲染效率是有待解决的重点问题.本文通过两个实验来分析W e b环境下三维复杂模型简化与可视化方法,实验环境配置如表1所示.整个系统技术架构如图5所示.
3 2㊀结果分析
首先利用3D m a x㊁D e e p E x p l o r a t i o n等工具将模型转换为o b j格式,使用自主开发的加入了基于结构的边折叠算法的模型转化工具对模型进行顶点优化㊁合并同材质几何体㊁简化细节等操作,结果如表2所示.
表1㊀实验环境配置
2008年奥运会会徽环境配置
C P U I n t e l i3G3120M
内存6G B
显卡N V I D I A G e F o r c e710M
操作系统W i n d o w s7旗舰版
浏览器G o o g l eC h r o m e68 0 3440 106
引擎
服务器
模型数据
C e s i u m1 47
中国体育报N o d e j s
电力杆塔模型(S Z30101 x)
通过o b j2g l t f数据转换工具分别将原始模型S Z30101 o b j和简化模型S Z30101Gl o w o
b j转换为精细模型S Z30101Gh i g h g l t f和简化模型S Z30101Gl o w g l t f.首先使用C e s i u m加载天地图作为基础
84 测㊀绘㊀工㊀程㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第28卷
场景,此时帧率为30~33F P S.之后通过v i e w e r.s c e n e.p r i m i t i v e s.a d d(C e s i u m.M o d e l.f r o m G l t f)方法分别加载1个㊁100个㊁200个㊁1000个㊁2000个G L T F模型查看帧率变化,可视化效果如图6所示,帧率统计如表3所示.
图5㊀技术架构图
表2㊀模型简化对比
模型顶点三角面材质尺寸/M B
S Z30101 x14744841251420963477 3
S Z30101 o b j14744841251420963495 1(+1 5M B材质文件)优化顶点6420941251420963470 4(+1 5M B材质文件)合并同材质几何体6420941251420470 4(+2K B材质文件) L O D简化535524972844 91(+1K B材质文件)
表3㊀模型加载帧率变化
模型数量/个0110020010002000精细模型/F P S30~3323~2512~150~400
简化模型/F P S30~3327~2822~2416~1812~140~3
㊀㊀由图6㊁表3可以看出,随着精细模型数量大量增加,帧率大幅度降低,在加至100个左右时浏览器已有明显卡顿,模型数量增加至200个浏览器接近卡死;反观简化模型加载至1000个还有余力,可见在某些可忽视细节的情况下使用简化模型能大大提高绘制效率.
使用v i e w e r s c e n e p r i m i t i v e s a d d(n e w C e s iGu m C e s i u m3D t i l e s e t())方法加载3D T i l e s格式的多分辨率模型可视化效果如图7所示.帧率统计结果如表4所示.
表4㊀帧率变化
距离尺度L O D1(近)L O D2(中)L O D3(远)帧率/F P S282930
由图7㊁表4可以看出,近距离时加载L O D1,显示全部细节,此时帧率为28F P S;中距离时加载L O D2,显示部分细节,此时帧率为29F P S;远距离时加载L O D3,显示模型整体,此时帧
率为30F P S.可见利用3D T i l e s形式加载电力杆塔模型,具有很好的L O D特性,可以随着视距的变化增删细节,减少不必要的渲染损耗,大大加快模型的渲染速度,
94
第2期㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀郭建雄,等:W e b环境下三维复杂模型的简化与可视化方法研究

本文发布于:2024-09-25 12:25:14,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/461883.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   结构   数据   简化
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议