APP下载

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

2023-11-21正,李

电子设计工程 2023年22期
关键词:漫游路线站点

张 正,李 鑫

(中国电建华东勘测设计研究院(郑州)有限公司,河南郑州 400016)

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

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

1 研究思路

1.1 研究内容

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

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

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

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

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

1.2 技术路线

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

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

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 漫游控制

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 包围盒即轴对齐包围盒,其满足如下条件:

式中,lx、ux、ly、uy、lz、uz分别是该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)根据漫游高度的变化重新修正漫游路径。

3 案例应用研究

3.1 功能实现效果

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

3.2 功能运行效果

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

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

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

4 结束语

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

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

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

3)通过AABB 包围盒碰撞检测算法及障碍物模型数据获取方法,实现漫游路线自动纠正;

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

猜你喜欢

漫游路线站点
最优路线
『原路返回』找路线
基于Web站点的SQL注入分析与防范
2017~2018年冬季西北地区某站点流感流行特征分析
霹雳漫游堂
画路线
首届欧洲自行车共享站点协商会召开
NASA漫游记
怕被人认出
找路线