摘要:本文给出了一个基于HLA的三维视景仿真系统设计与实现的方法,具体描述了系统设计要求、体系结构、以及与其它仿真系统的HLA接口。
关键词:HLA;三维视景仿真系统:SOM;分布交互式仿真
1系统应用需求
三维视景仿真可以很好地应用于军事、公安、水利、农业、林业,城市规划和设计领域等领域。在军事领域可以用于三维地形仿真、电子沙盘、支持精确制导武器的地形匹配:可以用于战场分析,进行战场地形各类作战计算,如通行、通视、制高点分析;用于模拟训练,可以实现实时立体的战场态势显示,并可形象展示火力打击效果等。在公安领域可以用于建立3D城市交通网和3D城市消防系统,支持对交通和消防的有效管理。在水利、农业、林业方面,可以利用三维可视化技术对水情、作物生长等进行分析或进行洪水淹没分析。在城市规划和设计方面,可以利用构建的虚拟城市进行分析与研究,避免因考虑不足而带来难以挽回的损失。
基于HLA的三维视景仿真能够很好地应用于网络环境。随着计算机网络的广泛应用,三维视景仿真需要对网络环境有很好的支持。在作战仿真领域,美国军方领导下的高层体系结构HLA应运而生。基于HLA的三维视景仿真系统通过对地形、城市、海域等空间对象进行三维建模,在网络环境下按照标准接口规范可以实现可视化的仿真推演,为用户提供直观、生动的信息服务。
2系统功能设计
2 .1支持三维视景仿真
开发的三维视景仿真系统,从设计上能够满足对众多地理空间数据格式和类型的支持,对大地形能够进行三维渲染和显示,具有灵活友好的人机用户接口,并采用面向对象的c++程序设计方法,其开发过程是一个复杂的软件系统工程。
2采用HLA仿真体系结构
高层体系结构川.A是新一代仿真系统的标准,本系统也将采用HI.A接口来实现和仿真系统的互连。基于HLA的三维视景仿真系统将设计成整个系统仿真联邦中的一个三维可视化显示的联邦成员,以实现互操作与可重用。
2 .3支持对动态目标的三维显示和管理
本系统应基于实时交互的仿真系统。典型情况是在所显示的大地形上展示整个仿真过程中仿真实体的位置、状态,以及仿真实体之间的相互关系。因此,在系统设计上,系统必须能够快速、有效地显示和管理动态目标,能够对尽可能多的动态目标提供支持,能够更加生动表达动态目标之间的互连关系等。
3基于HLA的三维视景仿真系统结构设计
为提高各种仿真资源的可重用性及互操作性,美国国防部制定了一个建模和仿真用的公共技术框架。其中包括一个高层体系结构(HLA),一个任务空间概念模型和一个通用数据标准,并要求到2002年新建仿真系统均需符合该框架要求,否则不能得到财政支持,也不准使用。因此,我们设计的三维视景仿真系统可作为大型仿真系统的一个联邦成员,充当三维观察器的作用。图I是一个基于HLA的通用仿真系统的设计思想。
通用仿真系统作为一个联邦,包含剧情发生器成员、观察器成员(包括二维、三维)和其它各仿真成员。剧情发生器成员用于描述仿真系统的具体实验活动,它通过基础数据库为其它各仿真成员(包括观察器成员提供仿真脚本、仿真环境等数据作为仿真背景,用户可以自行设置剧情,通过不同的剧情设置,来完成具体的仿真任务。三维观察器用于监控仿真进程,并将各仿真成员的仿真结果进行形象直观地显示,弥补了以往二维观察器显示效果的不足。HLA接口规范以服务的方式定义了联邦中联邦成员进行信息交互的方式,包括可调用的服务和应提供的回调服务,分为联邦管理、声明管理、对象管理、所有权管理、时间管理和数据分布管理六类服务。RTI是HLA接口规范的具体实现,它是联邦中各个联邦成员进行交互的基础。
4三维视景仿真系统的设计与实现
4.1系统体系结构设计
系统体系结构如图2所示。基于分布交互式仿真的三维可视化平台对上支持各种具体应用的仿真系统,对下主要由五部分支撑。第一部分是三维可视化支持库,分别由OpenGL和Microsoft Window窗口系统组成,建立在PC机图形硬件的基础之上,是系统的主要部分;第二部分是建立在网络硬件的基础之上的对分布交互式仿真HI.A的支持; 第三部分是数据源,包括地形数据和纹理照片等;第四部分是建立的典型三维实体几何模型库;第五部分是建立在声音硬件基础下的对方体声效的支特。
本系统所需的三维几何模型主要采用微机版的Creator2.5.1和3DNIAX5.0进行开发,视景仿真系统开发采用的操作系统平台为 Windows 2000 Professional,视景仿真软件平台采用微机版Vega和OpenGL. HLA接口采用pRTI v1.3,主要实现以下的功能:
l 通过HLA接口接收实体信息,并能根据反射的属性值在三维场景中动态显示;
l 提供用户灵活的选项接口,采用Vega的特效模块和。penGL各种特效来表征实体的状态。系统目前提供了数十种特效来表征各种状态,用户可以自定义各种状态对应的特效,这样用户在发送端只需发送相应的状态码即可。
l 系统采用了我们自行研制开发的基于微机的大地形管理和调度方案,解决了在微机大面积地形的处理与图像逼真度、实时性之间的矛盾。这样的功能Vega在单处理器的微机上没有提供。
4.2 HLA接口的设计与实现
4.2.1 HLA接口功能描述
采用HLA体制的视景仿真系统与通常用于完成漫游、演示等功能的视景仿真系统有很大的区别。后者对于视景仿真系统出现的实体一般能够预先确定,只需要将每个实体按预定的行为进行动作。这样显然不利于代码的可重用性,而且难于与其他的仿真系统接口,完成其他仿真系统的三维显示。而前者则完全作为一个通用的仿真接口,仿真系统只需要按规定的格式将信息通过 HLA体制传送给视景仿真系统,视景仿真系统只按接收到的信息加载模型,并根据用户的需求进行动作,使之成为一个真正通用三维观察器。
4.2.2 SOM设计
SOM设计是联邦开发过程中的重要内容之一,具体包括对象类和交互类的设计,实际是确定各个联邦成员之间的数据流和控制流。这里重点介绍本系统对象类的设计的方法。
从上面可以看出,用户只需要从该类派生所需要的对象类,在需要显示时向视景仿真系统注册实例,并更新其位置信息即可。
于是我们可以设计一个派生自CObject的显示对象基类: CBaseObject。该类用于封装显示一个模型需要的基本信息,在发送端只需要将需要进行三维显示的实体从该类派生即可,这样在接收端就可以收到所有实体发送的信息。
在开发过程中,通过OMDT工具可以很方便地从S.NI表得到其源代码,我们只需要添加用户所需要的方法,如添加模型、查找模型、删除模型、更新位置等操作。如表2所示。
系统实验结果
图3一图5所示为系统三维显示采集的部分图象。