APP下载

机场视景仿真系统的设计与实现

2020-12-28苏志刚陈天彧郝敬堂

计算机工程与设计 2020年12期
关键词:视景多边形机场

苏志刚,陈天彧,郝敬堂

(中国民航大学 中欧航空工程师学院,天津 300300)

0 引 言

国内外学者针对机场的视景仿真问题,已经开展了一些有益的探索与研究[1-7]:文献[5]在3DMAX平台下开发出某型飞机的三维运动仿真系统,该系统能够加载飞机模型以及飞行数据文件,并通过终端输出实时仿真结果;文献[6]基于3DMAX和Unity3D构建机场场景,实现了飞机运动的三维仿真;文献[7]利用MultiGen Creator建立了一个飞行视景数据库,针对其中各类模型的特点提出相应的优化建模方法,结合地面实拍数据,以某机场为原型,建立了一套完成的机场视景数据库。但以上对机场视景仿真的研究仍然存在建模过程复杂、场景无法快速搭建的问题,不利于进行机场场面的二次开发。

针对上述问题,本文基于X-Plane模拟飞行软件搭建机场地景数据库,基于Java3D API对机场视景仿真系统体系结构和功能模块进行设计。X-Plane是一款包括世界各地机场地景和多种机型的模拟飞行软件[8],Java3D是用来开发三维图形和3D应用程序的编程接口[9]。

1 系统设计

1.1 系统体系结构设计

为满足机场视景仿真的需求,为用户提供逼真的机场地景观察环境,系统需要产生的主要视觉信息为:地貌与实际相符的机场地景和丰富可调的环境背景。其中,机场地景要求机场具有相应的地标、跑道、停机坪、机库、塔台等具有细节纹理的建筑物。环境背景包含具有色彩和方向特性灯光,以及能见度与距离相关的大气衰减效果。

为了让用户有更好的观察效果以及更利于系统进行基于机场场面监视的二次开发,视景仿真系统至少应具有以下性能:具有观察视角和漫游路径可调的场景漫游功能;场景观察效果流畅,画面无卡顿,图形更新率不小于25帧/秒;场景的能见度、视景图像亮度、雾等环境背景均可调。

根据设计需求,将机场视景仿真系统结构设计为数据层、接口层和应用层。数据层存储以X-Plane模拟飞行软件的地景数据为基础的地景数据库,为系统提供数据支持。接口层包括地景数据解译动态链接库和坐标转换动态链接库。调用地景数据解译动态链接库可以实现机场地景文件的解译,获取需要搭建的机场信息;调用坐标转换动态链接库可以实现地理坐标系与观察场景坐标系的转换。应用层包括地景数据管理、视景多模型显示和人机交互3个功能模块,各功能分析详见1.2小节。系统的体系结构设计如图1所示。

图1 机场视景仿真系统体系结构

1.2 系统功能结构设计

根据系统功能需求和性能需求的分析,现将机场视景仿真系统设计为地景数据管理模块、视景多模型显示模块和人机交互模块,如图2所示。

图2 机场视景仿真系统功能结构

(1)地景数据管理模块

地景数据管理模块通过调用地景数据解译动态链接库和坐标转换动态链接库,对地景数据库中的核心地景数据进行解译和坐标转换,完成对机场信息、建筑物模型信息和地形多边形信息的预处理,为机场场景的快速搭建提供数据支持。

(2)视景多模型显示模块

视景多模型显示模块负责为观察场景添加丰富可调的环境背景,主要包括光照模型和大气衰减模型的设置。其中,光照模型负责产生具有色彩和方向特性的环境灯光,大气衰减模型负责产生能见度与距离相关的大气衰减效果。

(3)人机交互模块

人机交互模块负责添加观察视角和漫游路径可调的场景漫游等功能,使用户通过简单的操作获得更多的视觉信息,增加系统的交互性和实用性。

2 地景数据库搭建

地景数据库是整个视景仿真系统的数据基础,它的质量直接影响到整个系统的显示效果。本系统选用模拟飞行软件X-Plane的地景模型库作为数据基础。X-Plane作为一款逼真的模拟飞行软件,拥有一套完整且丰富的地景模型库,能够为用户提供全世界超过200个机场的地景模型。X-Plane的地景模型库为系统提供了完整且逼真的机场地景信息和模型,保证了机场地景视景仿真的真实感和准确性。

X-Plane中使用的地景是由描述各种实体的模型文件和机场核心数据文件组成的。其中,模型文件主要包括描述建筑物的三维模型文件和描述地形的覆盖多边形文件;机场核心数据文件则记录了搭建整个机场场景所需的核心数据,主要包括:机场的名称、类型、ICAO代码、经纬度覆盖范围;机场范围内所有建筑物模型的名称、经纬度;机场范围内所有地形多边形的名称、顶点坐标、顶点索引规则;对机场范围内所有建筑物模型和覆盖多边形等单独存储起来的地景模型文件的引用信息等。

为满足系统设计的要求,本文建立的机场地景数据库使用X-Plane地景模型库作为数据基础,将地景数据分为机场核心数据、建筑物模型和地形多边形3种类型。其中,包含机场核心数据的地景文件具有特殊的文件格式,需要调用地景数据解译动态链接库进行解译,地景数据解译动态链接库是基于开源X-Plane地景处理工具DSFTOOL进行仿写的动态链接库,可以实现对X-Plane中地景文件的解译。此外,在X-Plane中建筑物模型和地形多边形的位置信息都是以经纬度的形式存储的,在以外部文件的形式将其加载到场景之前,需要调用坐标转换动态链接库对其位置信息进行坐标转换,坐标转换动态链接库是基于地图投影坐标转换公式进行封装的动态链接库,可以实现地理坐标系与观察场景坐标系的转换。地景数据库的E-R模型如图3所示。

图3 地景数据库E-R模型

3 地景数据管理

由于X-Plane中地景文件格式的特殊性,地景信息经过解译后才能被获取和使用,为实现机场场景的快速搭建,减少场景绘制过程中系统资源的消耗,需要对地景数据库中的地景信息进行解译和预处理,对搭建机场场景所需的关键地景数据进行管理和控制。地景数据管理模块通过对地景数据解译动态链接库和坐标转换动态链接库的调用实现对地景数据的解译和预处理,具体步骤如下:首先,调用地景数据解译动态链接库解译地景文件,获取需要搭建的机场信息;然后,对建筑物模型和地形多边形中“所属机场”属性进行索引,筛选出所有属于所选机场的建筑物模型和地形多边形;随后,调用坐标转换动态链接库,将筛选出的建筑物模型的经纬度坐标和地形多边形的顶点坐标转换为场景坐标系下的坐标;最后,将转换后的坐标信息分别存储到相应的字符串组中,等待系统指令进行下一步的调用和处理。

地景信息管理模块通过对地景数据的解译和预处理,避免了场景搭建时对地景数据库中无关建筑物模型和地形多边形的加载与渲染,减少了场景绘制过程中系统资源的消耗,对机场地景的快速加载起到了至关重要的作用。

4 视景多模型显示

视景多模型显示模块使用Java3D API进行编程开发,为了产生丰富可调的环境背景,需要建立光照模型和大气衰减模型。

4.1 光照模型

在计算机图形学中,给光反射建立一个非常精确的模型是极其复杂且不切实际的。计算机图形学中的一般做法是建立一个高效的计算模型,同时又能很好地模拟视觉的真实感。经典的Phong光照模型是一个在计算效率和绘制质量两者之间取得平衡的模型,它在计算机图形学中得到了广泛的应用,因此本文选用Phong模型作为视景显示的光照模型。

在Phong模型中,表面上一点的光线强度由光照式(1)给出

I=Iaka+Ipkdcosθ+Ipkscosnα

(1)

式中:Ia和Ip分别表示环境光源和点状光源发出的光线强度,在Ip中光线的衰减已经得到考虑。系数ka、kd与ks分别对应于环境反射、漫反射与镜面反射的反射系数,这些系数由反射对象表面的材质属性来决定。n是镜面反射指数,也是由材质决定,指数越大,高光的区域就越集中。

对波长连续的光谱,本文选用RGB颜色模型,针对该颜色模型中的每一个颜色分量(红、绿、蓝)应用上述光照公式,来计算各个颜色分量的光照强度。

Java3D API支持Phong光照模型,当一个可视对象受到光照时,就可以依据该模型来进行绘制。通过设置光照模型,可以为显示场景生成包含具有色彩和方向特性的灯光环境背景。

4.2 大气衰减模型

大气衰减模型的定义请参见文献[10]。本文通过对景深效果的处理建立大气衰减模型,模拟大气衰减所产生的效果。景深原理和相关计算公式的详细分析请参见文献[11]。

某个绘制点的最终颜色可以由式(2)得出

C=f·C0+(1-f)·Cf

(2)

式中:C0是对象本身的颜色,Cf是雾的颜色,雾因子f是一个关于观察者距离的递减函数。因此,当对象距离观察者越远,雾的颜色权重越大,而对象自身颜色的权重越小。此时,对象看起来将会消失在雾里。雾因子f可以由式(3)中的函数表示

(3)

式中:z是到观察点的距离,front和back是表示雾范围的常数,f的值在范围[0.0,1.0]之间变化。

Java3D提供Fog类叶节点来支持景深效果处理。在Fog节点下,通过构造线性函数来创建一个线性雾:Li-nearFog对象,其雾因子是式(3)中定义的线性函数。通过设置大气衰减模型,可以为显示场景生成颜色可调且能见度与距离相关的雾效果。

5 系统测试

系统测试的硬件环境为联想台式计算机,配置信息为:双核四线程i7-3770CPU、8GRAM、200 G硬盘;系统测试的软件平台为Eclipse Java Oxygen。

以上海虹桥机场、长沙黄花机场和北京南苑机场为例,机场三维场景的显示效果如图4所示。

图4 机场视景仿真效果测试

构建机场场景时,场景内图形的多边形数反映了整个场景的复杂度,3个机场场景需要绘制的图形多边形数和场景漫游时的每秒帧数FPS见表1。

如表1所示,3个机场需要加载的图形多边形数量不同,场景的复杂度不同。其中,上海虹桥机场的多边形数最多,场景内模型的复杂多最高,在场景绘制时消耗的时间和资源也最多。在进行场景漫游时,3个机场的FPS都在25帧/秒以上,动画显示连贯,成像距离可动态调整,能

表1 机场复杂度与FPS对比

够为用户提供视角可调且连贯清晰的场景显示效果,也为系统的二次开发提供了可靠的机场地景显示平台,符合系统设计的性能要求。

图5是对上海虹桥机场进行背景环境效果的测试。由图5(a)可见,通过对光照模型的设置,系统可以生成颜色、亮度可调的背景环境光,模拟生成白天和黑夜的显示效果;由图5(b)可见,通过对大气衰减模型的设置,系统可以模拟大气衰减所产生的效果,生成颜色可调的雾背景。系统生成的机场观察场景具有丰富可调的环境背景以及大气衰减效果,场景的能见度、视景图像的亮度、背景灯光和雾的颜色均可调。黑夜、雾等背景的添加可以更有效帮助管制员进行有针对性的分析、验证和演练,符合系统设计的性能要求,进一步提高了系统的实用性。

图5 环境背景效果测试

6 结束语

本文基于X-Plane模拟飞行软件搭建机场地景数据库,基于Java3D API开发多模型的交互式的机场视景显示平台,实现了机场地景的快速加载和可视化。系统测试结果表明该系统可以快速建立地貌与实际相符的机场地景,具有丰富可调的环境背景,可以在此基础上进行基于机场场面运行仿真系统、机场起降指挥系统等服务于机场场面监视的二次开发,具有较高的实用性和灵活性,为机场的视景仿真提供了一个可行的方案。

猜你喜欢

视景多边形机场
多边形中的“一个角”问题
虚拟现实技术在游戏设计中的应用及研究
如何避免GSM-R无线通信系统对机场电磁干扰
多边形的艺术
解多边形题的转化思想
多边形的镶嵌
航Sir带你逛机场——东京国际机场
面部识别使机场安检提速
新机场与城市未来
全回转拖轮运动建模与视景仿真