虚拟战场态势显示系统的开发研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虚拟战场态势显示系统的开发研究
摘要:以分布交互仿真中的虚拟战场态势显示为需求背景,基于地理信息系统的理论和相应的软件工具,
在虚拟战场态势显示中引入GIS技术,实现了基于GIS的虚拟战场态势二维与三维、静态与动态的显示,以及战场数据的添加与查询,计算机生成兵力的初始化及实时驱动、飞机地形高程匹配飞行的三维仿真。开发了一个具有统一集成环境、二维与三维态势显示相对应等特点的原型系统,并介绍了其组成、功能和
特点。
关键词:虚拟战场;地理信息系统;分布交互仿真;态势显示
通过虚拟战场态势显示,为指挥员提供决策信息,已经是现代战争中的一种常用方法,而“3S”技术(RS,遥感;GPS,全球卫星定位系统;GIS,地理信息系统)被广泛的运用到从战略构思到战术安排的各个环节,它们已经成为决定战争成败的一个重要因素,例如:在计算机上建立GIS与RS的集成系统,它能用自动影像匹配和目标识别技术,处理卫星和高空侦察机实时获得的战场图像,及时的将反映战场现状的图像叠加到数字地图上,数据直接传送到前线指挥部,为军事决策提供全天候的实时服务。地理信息系统采用空间数据库以及矢量图系统管理和显示各种地理信息及其属性信息,可以使战场的二维态势信息管理更加规范,使用灵活方便,同时可以将基于地图的二维态势显示与三维战场环境对应起来,便于更为直观反映作战实体的动态性能和交互过程。
1系统功能
该系统的主要功能有:(1)二维态势显示:包括地图的显示、缩放、平移、区域选择及划分等。(2)三维态势显示:基于DEM(数字高程模型)数据,以等高线和表面的形式把战场态势显示出来,并于二维态势相对应。(3)地形高程匹配:生成的三维地形可以用来进行飞机在给定高度范围内自动飞行的仿真。(4)计算机生成兵力(CGF)的初始化及其实时显示:在地图上布置红蓝双方的固定目标,并显示双方活动目标的运动轨迹和对抗效果。(5)信息查询:建立数据库,实现地理、人文等信息的查询,以及对它们进行添加、修改和删除等操作。(6)网络通讯:分布式交互仿真离不开网络通讯,建立控制台和仿真结点,实现前者发出指令,驱动实体运动,后者接收数据,绘制出实体运动的轨迹。
2系统结构
该系统使用PC机在Windows2000操作系统中,以Microsoft Visual Basic为总体开发环境,集成多种工具软件进行开发的。下面将分软件和硬件两部分讲述系统的结构。硬件结构如图1所示:
控制台和结点通过基于UDP/IP的通讯协议连接起来,可根据需要添加新的结点或把该系统加入到一个更大的系统中去。
应用型GIS开发主要有两种实现方式:独立开发和基于通用GIS软件的二次开发,两者都有各自的优势和不足。独立开发要求从头做起,开发难度大,总体投入多,但由于无须依赖商业GIS工具软件,不受它们限制,灵活性高。二次开发的优点是起点高,可以直接调用已有GIS平台现成的功能,但单纯利用GIS 工具软件进行二次开发很多方面受到限制,而且难以完成一些特殊应用。
然而目前许多GIS软件公司都给用户提供了除OLE(Object Linking and Embedding)方法外的ActiveX 控件,作为用户进行集成二次开发的工具。在通用编程工具如Visual Basic、Delphi中,直接将GIS功能嵌入其中,实现地理信息系统的各种功能。因此结合GIS工具软件与可视化开发语言,既可以充分利用GIS工具软件已有的对地理信息的管理、显示功能,又可以利用其它可视化开发语言具有的灵活性,集二者之所长。
在本系统中首先采用MapInfo公司的GIS组件——MapX完成战场二维态势的显示、地区划分等,以及CGF初始化及实时驱动,并通过与Access
数据库绑定,实现地理信息与人文信息的添
加与查询。然后在独立开发部分完成的内容
包括用IDL(交互式数据语言)软件实现与
二维地图相对应的局部三维地形快速生成
及地理信息查询;用DEM数据浏览器软件
3DEM和三维建模软件Multigen Creator以
及视景仿真驱动软件OpenGVS实现飞机地形
高程匹配的三维仿真;还有基于UDP/IP协
议的网络通讯功能。最后通过ActiveX技术
把这些功能都集成的VB的开发环境中。通
过菜单及按钮等控件对系统进行调度和管理。
3软件功能模块
3.1二维态势显示
二维态势显示是基于通用的地理信息系统软件MapInfo完成的,这里要完成两步工作:第一,用MapInfoProfessional制作地图;第二,用基于ActiveX技术的MapInfoMapX组件把地图嵌入到Visual Basic窗体中,并添加按钮等控件,编程实现地图缩放、区域选择等操作。通过与采用传统的Windows绘图方法的系统比较,可以明显的发现用地理信息系统矢量图作为虚拟战场二维态势显示有着运行效率高、地图显示规范的优点。
3.2三维态势显示
三维GIS在数据采集、系统维护等方面比二维GIS要复杂。DEM(Digital Elevation Model)主要用于描述地面起伏状况,可以用于提取各种地形参数,如坡度、坡向、粗糙度等,并对它们进行应用分析。
因此,被广泛使用。地理上某一点的高程值是该点平面坐标(X,Y)的函数,即Z=Z(X,Y)。采用三维空间离散的采样点描述地形,坐标(X,Y)就被离散成格网状,每一个格网点有一个高程值与之相对应。实际应用时,对于某连续区域,常常省略(X,Y)值,只以二维数组的形式存储Z值。DEM的表示模型有多种,在实际应用中,规则格网模型是应用的最广泛的,不同模型之间可以相互转换。地形的快速生成,是基于IDL软件的。把与在二维态势中选定区域所对应的DEM数据以二维数组的形式读入程序中,再用相应的函数就可以把它以表面、等高线等多种形式显示出来。如图4所示。
3.3地形高程匹配
这一部分实现了飞机的高度自动跟随模式,当飞机需要自动爬升、下降或保持到某一高度时,预先设定好允许飞行的高度值或范围,飞机实时检测其与当前地形之间的高度差,根据与设定值间的差值,迅速调整飞行高度,之后保持在此高度上飞行。
由于Multigen Creator是最佳的实时仿真建模工具,但它不能直接读取DEM数据,因此,可通过下面的步骤进行文件格式转换,得到需要的地形模型:用3DEM读入相应区域的DEM数据;把它保存成VRML 格式;用三维模型浏览器软件3D Exploration读入VRML格式的文件,并转换成*.flt格式;把这个文件导入到Mulitgen Creator中,对它进行贴图、裁剪、数据优化等操作,最后保存成*.flt格式的文件;模型建好以后,就可以用OpenGVS编程驱动。通过调用相应的碰撞检测指令,得到需要的高度差值,然后就可以根据设定的控制律,控制飞机的飞行。另外,程序中还加入了仿真飞机不同飞行状态时的发动机声音3.4计算机生成兵力的初始化及其实时显示
计算机生成兵力技术是分布交互仿真中的关键技术之一。它用
计算机模型来实现参与仿真的作战人员或武器系统等仿真对象,减
少真实作战人员和武器装备的参与,降低系统的代价。在本部分中,
通过在程序开始运行时,接收并读取仿真管理台发送来的CGF初始
化想定文件,然后就把相应的信息加载到地图上。以后实时读取驱
动文件,刷新地图,就可以显示动态的战争过程。这里的实体只是
用来示例的。如右图所示。
3.5数据查询
作为Microsoft Office的一个重要成员,Access的优势在于可以方便的集成到Microsoft Visual Studio开发环境中,最大程度的发挥它的各种功能,Access也支持标准的结构化查询语言(SQL)。在这一部分,采用Visual Basic中的数据控件访问数据库,它是通过Microsoft JET数据库引擎接口实现与数据库的连接。可以查询城市的位置信息和属性信息。该数据库是由两个数据表(Table)组成的(可根据需要添加更多的表),分别是:CityLocation,用来存放城市的地理位置,表中有三个字段(Field),分别是:CityName:用来存放城市名称;Longitude:用来存放城市经度;Latitude:用来存放城市纬度。CityAttribute,用来存放城市的属性信息,表中有两个字段,分别是:CityName:用来存放城市名称;