CIM论文 │ CIM平台三维漫游功能的实现与优化技术研究

首页    CIM论文    CIM论文 │ CIM平台三维漫游功能的实现与优化技术研究

来源丨 电子设计工程 2023.22

 

发布丨 CIM小编


本文字数:4736

阅读时间:4分钟

 

CIM平台三维漫游功能的实现与优化技术研究

张正 李鑫

摘要:针对CIM的应用方向和漫游飞行的特点,提出CIM平台漫游功能的优化内容,并由此探讨了该功能实现的关键技术和方法。依托沣西新城的信息模型数据,该文使用CesiumJs引擎快速搭建了CIM城市三维场景,根据CIM场景特点提出更为便捷有效的漫游路径设置方式,使用速度、视口、重力等多种控制方式优化漫游的效果,结合碰撞检测算法,实现漫游的路线纠正功能,通过场景和多种功能配置实现漫游的多模式选择功能。在此基础上,以沣西新城为案例,实现并优化了CIM平台的漫游功能。

关键词:漫游;三维场景;CIM;CesiumJs;漫游路径;碰撞检测

中图分类号:TN99

文献标识码:A

文章编号:1674-6236(2023)22-0016-05

 
 
 

城市信息模型平台(City Information Modeling,CIM),融合了地理信息系统和建筑信息模型,实现了城市层面三维场景的数字化和虚拟化,涵盖了城市建设体系多个层面的内容。近几年,国内外学者针对CIM的关键技术和应用等方面展开了一定的研究[1-3]。而虚拟漫游是CIM建设的重要组成部分,可以让使用者从不同的角度、距离和精细程度对城市场景进行动态交互的观察和操作,以辅助城市管理者进行更加科学的规划决策。

以往对漫游的研究主要集中在室内漫游或者校园、园林漫游等层面,如周信文等人基于Unity3D设计了南昌地铁一号线的虚拟漫游系统[4],闫秋羽等人研究了三维室内设计和人物漫游技术[5],刘菲菲和王艺儒分别使用Virtools和Unity3D创建了校园漫游系统和校园车辆漫游系统[6-7],刘晓峥等人则设计开发了嵩山地区的三维虚拟漫游旅游系统[8]。目前针对CIM平台漫游功能的技术研究还较为欠缺,因此,为迎合CIM平台漫游功能的未来应用需求,该文以沣西新城为研究案例,结合CIM平台的场景模型特点以及漫游的关键技术难点,对CIM平台漫游功能和优化技术展开研究。

 
 
研究思路
 
NO.1
 
1.1 研究内容

沣西新城是国家级新区西咸新区的重要组成部分,作为西部科技创新引领区,其已搭建起一套融合多维城市数据的CIM平台,涵盖市政规划、城市规划、道路桥梁建设等多个层面。该文依托该CIM平台,结合漫游功能未来的应用场景,对以往的漫游提出优化策略,具体的研究内容如下:

1)结合CIM场景模型,提出多方式便捷化的漫游路径创建方式;

2)优化漫游控制[9],提高漫游的灵活性,实现更加真实的漫游效果;

3)研究碰撞检测算法,实现漫游路径的自动纠正功能;

4)实现漫游的行走、驾驶、飞翔多种运动模式,并可自由切换。

1.2 技术路线

根据研究内容和漫游的具体操作方法,该文提出了实现漫游功能的整体技术路线,如图1所示。

 

 
 

图1 CIM平台的漫游功能技术路线

 
 
功能实现及关键技术
 
NO.2
 
2.1 基本场景搭建

依托沣西新城的信息模型数据,该文以vue前端框架和springboot后端框架为基础,使用CesiumJs引擎快速搭建CIM城市三维场景[10]。由于CIM平台中影像、模型数据体量十分庞大,需要采用一定的图形绘制加速方法提高场景浏览的流畅性。目前主要有三种方法可以实现图形的实时高速绘制[11]

1)可见性判断,分为外部判断和内部判断,外部判断剔除视点之外的多边形,内部判断剔除被遮掩的多边形[12]

2)纹理映射,通过位图表达表面细节,根据模型离观察者视点的距离动态调整位图的分辨率[13]

3)多边形简化,使用多层次细节算法(LOD)来减少多边形的数量,对于近处物体展示细节,对于远处物体只展示其外轮廓[14]

CIM平台漫游的三维场景搭建如图2所示。

 

 
 

图2 CIM平台漫游的三维场景搭建

 

2.2 关键功能实现

2.2.1 路径设置

漫游路径的本质是由一系列路径站点连接构成的空间曲线。要构建漫游路径,必须先获取站点。单个站点的参数如表1所示。

 

 
 
表1 漫游站点参数

CIM平台已具备三维空间坐标,在CIM的三维空间中可任意选取漫游视角点位。结合使用者的操作习惯,获取站点的方式一般有两种,一是通过在三维场景中点击选中某些点作为路径的站点;二是通过导入已设定好的漫游站点数据文件进行设置。

结合CIM平台的功能特点,可通过两种更加便捷高效的方式进行路径设置:

1)通过当前视口获取。直接记录当前场景视角的数据作为站点,可以让使用者获得漫游过程再现的感受;

2)通过道路模型的中心线转化。由于CIM涵盖了道路、河流等多种模型,故可获取模型的中心线信息,并将其转化为路径站点,以实现沿道路、河流方向漫游的效果。通过CIM的最短路径搜索功能,还可以实现城市道路网络的点对点最近漫游。

 

 
 

表2 漫游路径设置方式比较

2.2.2 漫游控制

1)速度控制

为了实现好的漫游效果,需控制漫游速度,并在漫游过程中保持匀速漫游。漫游速度的控制可以通过控制漫游时间来实现,而由于漫游路径每一段的长度并不相同,匀速漫游情况下每一段的漫游时间也不相等,可以计算出每一段的漫游长度di ,再根据总的漫游长度dw 和漫游时间tw推算出每一段的漫游时间ti,每一段漫游长度di 的计算公式如

式(1)所示:

式中,xi为第i段漫游x轴差值;yi为第i段漫游y轴差值;zi为第i段漫游z轴差值;di 为第i段漫游长度。

2)视口控制

漫游过程需进行视口控制,以给使用者真实的方向感。漫游的视口控制可通过控制heading、pitch、roll三个视角参数来实现。可计算漫游路径每一段的视角参数差值,然后在每一段路径进行多次相机视角变换,来控制视口严格地沿着路线方向变换。视角变换的频率set可根据每段漫游的设置时间而定。视角变换的关键代码如下:

3)重力控制

为了使用者有更加沉浸式的体验感,有时也需要在漫游过程中进行重力模拟。漫游的重力模拟可以通过操作贴地漫游来实现,即控制漫游在每个时段与下方地形或建筑物的高度差ht始终保持在一个固定数值,具体的模拟算法见2.3.2节。

由于漫游在开启重力模拟过程中,会贴地漫游,其竖直面的漫游路径不再是一条直线,而是一条不规则曲线,故为实现匀速漫游,需根据漫游时间重新运算来进行控制。

2.2.3 路线纠正

在漫游过程中,需准确地判断漫游对象与飞行路线上的场景模型是否发生了碰撞,以增强漫游的真实性和体验感,同时也方便使用者更正漫游路径,具体的碰撞检测算法见2.3.1节。

当在漫游测试中检测到前方有障碍物时,可根据障碍物位置获取障碍物模型的数据信息,然后根据模型数据规划绕行路线。

漫游路线纠正的整体流程如图3所示。

 
 
图3 漫游路线纠正流程

2.2.4 模式选择

通过对漫游重力、速度、碰撞的控制,并结合不同类型的三维场景展示,可以实现漫游的多模式选择功能,各漫游模式的具体配置如表3所示。

 
 

表3 漫游模式配置

2.3 核心算法及技术

2.3.1 碰撞检测算法

该文采用基于AABB包围盒的碰撞检测算法[15],AABB包围盒即轴对齐包围盒,其满足如下条件:

式中,lxuxlyuylzUz分别是该AABB包围盒在X、Y、Z坐标轴上投影的最小值和最大值坐标。该算法的基础是空间直线与空间多边形的求交,可以判断在漫游过程中漫游对象是否与地形或建筑物发生碰撞。其检测步骤为:

1)获取当前漫游对象的视点为V;

2)获取沿路线route方向距离为d的点M;

3)获取周围要素的长方体坐标范围;

4)判断VM和周围要素是否相交,如果不相交,则可进行到下一个位置M,如果相交,则执行步骤5);

5)根据当前位置坐标获取障碍要素的模型数据,由路线和模型轮廓数据计算出绕行路线routec,将其内插到路线route中,进行下一个点M的检测。

2.3.2 重力模拟算法

在整个漫游过程,获取漫游路径水平投影范围内的地形高程和建筑物高程,再控制漫游高度与地形和建筑物高程之间的差值在一定范围之内,如下:

式中,ht表示第t时段漫游的高度;hbt表示第t时段漫游路径投影下的地形或建筑物高程;hm表示视点与地形或建筑物的高度差。

该算法的核心是获取路径投影范围内地形和建筑物的高程,CesiumJS根据模型类型的不同提供了不同的api接口。整个漫游过程重力模拟的具体步骤如下:

1)获取漫游路径及其水平投影lp

2)根据漫游时间tw以一定时间频率将漫游过程划分为多个漫游时段lt

3)在每个时段lt中,判断漫游路径水平投影范围内的虚拟对象是地形还是建筑物,再根据CesiumJS提供的api分别获取其高程hbt

4)根据式(3)计算t时段漫游高度ht

5)根据漫游高度的变化重新修正漫游路径。

 
 
案例应用研究
 
NO.3
 
3.1 功能实现效果

基于以上研究,该文设计了CIM平台的漫游功能。功能的最终实现效果为在CIM的城市空间场景中,使用者可通过多种方式设置不同场景下的漫游路径,然后按照设定的路径轨迹进行定向漫游,同时支持时间参数设置,支持速度、重力和碰撞控制,提供行走、驾驶、飞行三种模式。针对录制完成的漫游,可点击漫游列表重新进行播放。对于城市街景、建筑模型等三维场景,支持室内与室外漫游。

3.2 功能运行效果

基于沣西新城CIM平台的现有场景和功能,该文设计并完成了CIM平台的三维漫游功能,可以看到整个程序的运行效果如图4所示。

 
 

图4 CIM平台的漫游功能运行效果

该功能可让使用者通过漫游观察工程的整体效果,未来还可以基于该系统进行一些扩展,应用于城市规划、建筑设计等领域,如结合仿真技术实现人流与车流的三维仿真,以更好地辅助交通规划决策结合VR技术实现城市景观虚拟与现实相融合",以更好地辅助城市规划布局等。

 
 
结束语
 
NO.4
 

该文根据CIM平台的技术特点和应用需求,提出了CIM平台的漫游功能优化内容,基于此研究了各关键功能的实现技术与方法,并以沣西新城为案例,设计并实现了CIM平台的三维漫游功能。该文获得的成果如下:

1)根据CIM场景模型特点,提出了视口获取和模型中心线提取两种更便捷的漫游路径设置方式;

2)通过速度控制、视口控制、重力模拟等多种控制方法实现更真实地漫游效果;

3)通过AABB包围盒碰撞检测算法及障碍物模

型数据获取方法,实现漫游路线自动纠正;

4)结合漫游的重力、速度、碰撞控制和场景切换,实现多模式下的漫游效果。

 
 
 
 
 
参考文献
 
 
 
 
 
 

[1]武鹏飞,李建锋,胡子航.城市信息模型(CIM)的建设思考[J].科技创新与应用,2021,11(31):55-58.

[2]陈兵,王港.城市信息模型(CIM)关键技术集成研究[J].中国管理信息化,2021,24(23):159-162.

[3]胡睿博,陈珂,骆汉宾,等.城市信息模型应用综述和总体框架构建[J].土木工程与管理学报,2021,38(4):168-175.

[4]周信文,俎晓芳,罗津,等.基于Unity3D的地铁三维虚拟漫游设计[J].计算机系统应用,2018,27(3):258-262.

[5]闫秋羽,张兴刚,郝冬冬.基于虚拟现实技术的三维室内设计及人物漫游技术[J].现代电子技术,2019,42(19):95-97,102.

[6]刘菲菲.基于几何建模技术创建虚拟校园漫游系统[J].现代电子技术,2019,42(13):127-130.

[7]王艺儒.基于数字孪生的三维校园车辆漫游系统[J].电脑知识与技术,2022,18(6):94-96.

[8]刘晓峥,徐司琪.嵩山地区三维虚拟漫游旅游人才培育系统开发——基于Unity3D平台的设计[J].区域治理,2019(29):173-178.

[9]周强,张敏雄,吴新丽,等.体感交互虚拟漫游的沉浸感评价[J].图学学报,2020,41(3):342-349.

[10]乔天荣,马培果,桂新星,等.基于SuperMap平台构建统一CIM数字底盘的应用分析[J].测绘与空间地理信息,2021,44(6):31-33.

[11]周文,郭燕燕,邹伟林,等.轻量化城市信息模型(CIM)构建技术研究[J].地理信息世界,2021,28(4):119-123.

[12]杨秋月,张侃,王江峰.大规模三维地形场景实时绘制技术研究[J].科学技术创新,2020(3):46-47.

[13]赵云静.分析基于倾斜摄影测量的建筑物三维模型自动纹理映射方法[J].居业,2020(5):10,12.

[14]袁占全,李明益.基于BIM+GIS的航道三维漫游系统设计与实现[J].水运工程,2022(2):153-157,178.

[15]张振寰.基于WebGL三维场景的碰撞检测技术研究[J].信息记录材料,2022,23(4):93-95.

[16]吴维,吴尧.基于VR技术的城市规划三维仿真设计系统设计[J].现代电子技术,2019,42(21):145-149.

 
 

 

 

2024年5月18日 09:47
浏览量:0
收藏