一种导弹防空视景仿真系统设计与Vega实现
2012-11-14张继山程文娟陆文骏
张继山, 程文娟, 陆文骏
(1.合肥工业大学计算机与信息学院,安徽合肥 230009;2.解放军炮兵学院信息工程教研室,安徽合肥 230031)
一种导弹防空视景仿真系统设计与Vega实现
张继山1, 程文娟1, 陆文骏2
(1.合肥工业大学计算机与信息学院,安徽合肥 230009;2.解放军炮兵学院信息工程教研室,安徽合肥 230031)
虚拟现实技术是目前国内外仿真界研究的热点之一,而视景仿真技术是其核心技术。利用Vega软件,研究了防空导弹发现并截击飞机的视景仿真过程,研究了点击式图形环境Lynx和Vega软件的开发方法,对类似问题的研究提供了帮助。
虚拟现实;视景仿真;Vega;Lynx
0 引言
视景仿真是计算机仿真的一个重要研究方面,它主要研究如何利用计算机三维图形表现仿真过程,是虚拟现实技术的重要组成部分[1、2],是一种可以使用户产生身临其境感觉的交互式仿真环境,实现了用户与所仿真的环境直接进行自然交流。它在军事领域用于人员培训、场频设计及战略规划等,这将极大提高工作质量和工作效率。
随着精确末制导武器的研制和发展,防空导弹仿真技术研究已成为精确制导武器的先导技术。在节省研制费用和缩短研制时间的同时,更重要的是为导弹提供校验和分析手段,最终为精确制导引头系统提供演示验证平台。
本文利用虚拟现实/视景仿真管理软件Vega将防空导弹拦截飞机过程以三维动画的形式表现出来。通过对该程序的开发,了解视景仿真程序的开发过程,掌握基于Vega的视景仿真程序开发方法,对于类似程序的开发提供了参考,为将来虚拟现实系统的开发奠定了基础。
1 防空导弹视景仿真系统的设计
实现防空导弹仿真系统的面向对象程序设计,关键在于正确地分析和建立仿真模型的层次结构和关系,主要内容包括:软件总体结构设计和相关模块划分及类结构设计。建立仿真系统的层次结构模型主要工作是对系统进行模块划分,模块划分应该遵循模块独立性的原则。利用虚拟现实/视景仿真管理软件Vega将防空导弹拦截飞机过程以三维动画的形式表现出来。
仿真系统的总体设计目标是以防空导弹追击飞机并将其击落这一过程为仿真对象,在建立模型的基础上,充分利用计算机仿真技术、图形图像处理技术进行了视景仿真,将飞机与导弹的飞行以及导弹击中飞机发生爆炸的过程形象、逼真和直观地再现出来,达到较好的可视化效果[3、4]。在进行系统需求分析的基础上,完成了系统的主要模块设计。整个导弹仿真系统设计分为初始化模块、建立模型(飞机和导弹)、环境设置、运动计算、效果设置(碰撞和爆炸)等五个主要模块。
防空导弹仿真系统主要是根据所建立的仿真模型,利用计算机仿真技术、图像处理技术构建系统仿真平台。构建的仿真平台真实地再现飞机的空中飞行以及导弹击中飞机并发生爆炸效果这一过程。
(1)模型建立模块
根据系统的要求,需要建立物体的几何模型,包括飞机、导弹和其他特殊模型。利用MultiGen Creator建立所需要的几何模型,利用Lyn X设置特殊效果模型,如爆炸效果、导弹尾迹等。
(2)初始化功能
该模块主要完成模型的加载、导入场景和系统的初始化。在仿真开始之前,必须加载所有的模型,根据仿真的需要,导入指定的模型到场景中,完成系统的初始化。
(3)环境设置
在实时仿真设计中,任何物体也都是处于一定的环境下的。通过环境设置,可以设置物体位置的远近、方位、以及角度,也可以十分方便地制作出灯光和环境中特有的云、雾等,从而进一步增强动画造型的生动性和感染力。这部分的功能主要用Lynx的“Environment”面板来完成。例如,假如现在需要将场景变暗,则可以通过修改日期游标实现上述功能。
(4)运动设置
运动模型面板允许用户创建并且管理运动模型事件。一旦创建了这个事件,就把一个运动模型加入到一个观察者的类事件中,或者加到一个场景运动体的类事件当中。每种运动模型的类型允许使用输入设备交互地控制加入的观察者或场景运动体的位置和方向。每一个新的运用程序都包含一个缺省的运动模型。对应不同的例子,可应用9种不同的运动模型类型,即Spin、Drive、UFO、Warp、Fly、trackball、Flight Simulator、Missille和Input Device Direct。
(5)效果设置功能
特殊效果是一种动态的视觉效果,在本系统中模拟导弹与飞机的碰撞和爆炸现象。在视景仿真中,除了规则的体之外,为了提高仿真的逼真度,还有大量的特殊效果,以增加操作者的沉浸感,比如烟尘、火、爆炸等。在防空导弹的视景仿真中,我们借助于Vega的一个重要模块----特效,来实现特殊效果。
2 视景仿真系统的Vega实现
2.1 仿真系统的开发平台
(1)操作系统环境
在系统设计时可以考虑采用的操作系统有Microsoft windows NT Server、Windows Server 2000或Windows Server 2003、Windows XP和Unix等,本系统设计时采用的是Windows XP平台。
(2)硬件环境支持
为了满足系统的数值仿真的高效和实时仿真的逼真度,应该选择高档的系统平台。考虑到软件操作系统的通用性和微机性能迅速增长的趋势,在防空导弹仿真系统中选择了中档PC机,其基本硬件配置满足下面条件:CPU:PIV 1.8G;内存:512M;显卡:128M显存,全面支持OpenGL 1.1版本;声卡:支持Microsoft Direct Sound的声卡;
(3)系统开发工具
系统所采用的开发工具:Multigen Vega3.7、Microsoft Visual C++6.0[5]。本系统是采用面向对象的程序设计方法,使用Vega3.7[6、7]、Vc等开发工具在Windows平台上开发的,系统具有良好的继承性和通用性。
2.2 Vega环境配置
利用Vega开发视景仿真程序,需要调用Vega的应用程序接口函数(API),使用这些函数需要配置Vega环境。
(1)链接Vega头文件
在VC集成环境下,点击菜单“Tools->Options…”,在“Options”对话框下,单击“Directories”页,在其“show directories for”组合框下,选择“include files”,在下面列表框中加入包含Vega头文件的目录,如D:\Vega\include;然后在其“show directories for”组合框下,选择“Library files”,在列表框加入Vega的动态链接文件,如D:\Vega\LIB。
另外,在文件头部加入以下代码:
(2)初始Vega环境
链接Vega头文件后,还需要初始化Vega环境,下面给出初始化函数。
初始化的基本顺序为:
①调用初始化函数vgInit WinSys初始化系统;
②给定应用程序文件(*.ADF),通过函数vg-DefineSys定义系统;
③调用函数vgConfigSys配置系统,配置系统的输入输出设备、视窗等;
④设置循环体,在调用函数vgSyncFram和vg Frame后,可以执行用户指定的操作,驱动场景中模型运动。
2.3 仿真系统的实现
基于Vega视景仿真程序的开发一般包括以下步骤:
(1)几何模型的建立
几何模型的建立主要包括三维模型的建立、光照、纹理、不可见面的消隐等等,而三维模型的建立是视景仿真中的关键一步。本文采用复合建模法,对于简单的模型,直接使用建模软件Multigen Creator构建,对于复杂的模型,先采用比较成熟的建模软件3DS Max进行建模,并以3ds格式文件导出(采用3ds格式文件的好处是不会损失三维模型的几何信息),然后将3ds格式文件导入到Multigen Creator中,对模型进行修改、加纹理和光照等,最后保存为.flt格式文件。在防空导弹拦截飞机视景仿真系统中,需要建立以下几个模型,即飞机模型、导弹模型、环境模型和其他模型(爆炸效果等)。
(2)应用程序定义文件的建立
应用程序定义文件(*.ADF)类似一个容器,它包含了Vega所必须的几个对象:窗口、通道、场景和观察者等。在Vega初始化时,系统必须提供一个含有这些基本对象的应用程序文件,在用户操作时可以增加、修改甚至可以删除这些对象,也可以增加其它的对象。应用程序文件可以通过Vega提供的图形化界面Lynx建立。在建立ADF文件后,可以在VC6.0环境下通过调用Vega的API函数驱动模型运动。
(3)模型的驱动
按照相应的运动轨迹驱动模型运动。
(4)系统实现
具体剧情及其实现如下:
a.一架直升机从视场的右边按照一定速度飞入场景,如图1所示。
b.跑道附近有一枚防空导弹准备待发(需要切换视点),如图2所示。
c.导弹发射后,导弹开始拦截飞机,其上升如图3所示。
d.导弹拦截飞机成功,即导弹击中飞机,发生爆炸,产生碎片和烟雾,如图4所示。
图1 飞机飞入场景图
图2 导弹待发
图3 导弹发射
图4 击毁目标
3 结束语
当今社会,计算机仿真技术因其有效性、经济性、安全性、可控性等特点受到了广泛的应用,而作为其重要组成部分的视景仿真技术也日渐成为社会各个应用领域中不可或缺的技术手段。本文设计并实现了防空导弹截击飞机的视景仿真系统,其主要工作总结如下:
(1)详细分析了视景仿真技术和虚拟现实技术,为系统的设计打下理论基础。
(2)讨论了基于Vega的视景仿真系统设计的原则和要求,详细论述了其结构和功能设计。并利用软件Vega建立了导弹截击飞机的视景仿真系统。
(3)研究了基于Vega的视景仿真系统程序的开发过程。按照系统开发的一般步骤,首先设计了系统结构和程序流程图,然后使用c++完成了仿真系统的编程应用。系统完成后,生成了一个接近于实战的虚拟战场,操作人员能够在视景仿真环境中驱动、控制各种模型,形象地描述了的导弹发现并击中飞机的过程。
系统不可避免地存在着不足,主要问题有:
(1)几何模型的不够精确;
(2)模型的运动方式较为简单,简化了模型运动规律。
在下一步的研究中,将着力解决以上不足,力争使所设计的基于Vega的视景仿真系统能够更贴近实际,更利于操作和使用。
[1] 吴家铸,党岗,刘华峰等.视景仿真技术及应用[M].西安电子科技大学出版社,2001.
[2] 申蔚,夏立文.虚拟现实技术[M].北京希望电子出版社,2002.
[3] 吴波,潘海明,朱根才.导弹作战多媒体视景仿真[J].弹箭与制导学报,2010.01.
[4] 洪蕾.导弹飞行仿真可视化系统研究与实现[J].弹箭与制导学报,2007.03.
[5] 张秀山,徐荣花,胡庆丰等.虚拟现实技术及编程技巧[M].国防科技大学出版社,1999.
[6] 龚卓蓉.Vega程序设计[M].国防工业出版社,2002.
[7] 龚卓蓉.Lyn X图形界面[M].国防工业出版社,2002.
Design and Realization of Scene Simulation System for Missile Defense Based on Vega
ZHANG Ji-shan1, CHENG Wen-juan1, LU Wen-jun2
(1.SchoolofComputerandInformation,HefeiUniversityofTechnology,Hefei230009,China;2.DepartmentofInformationEngineering,ArtilleryAcademyofPLA,Hefei230031,China)
The technique of Virtual Reality is one of hot points in domestic and international simulation field,which studies simulation boundary.And technique of scene simulation is a core technique.By using Vega software,a complete guided missile is discovered and cutting the process of the shot airplane is designed,and the click type sketch environment of Lynx with the Vega software development method is also researched.It’s helpful for similar problem.
Virtual Reality;scene simulation;Vega;Lyn X
TP391.9
A
1674-2273(2012)03-0062-04
2012-02-10
2010年安徽省教育厅自然科学研究项目《虚拟现实技术在普通高等工程教育中的应用研究》(KJ2010B068)资助
张继山(1974-),男,安徽全椒人,安徽三联学院教师,合肥工业大学计算机与信息学院在读研究生,研究方向为虚拟现实、网络技术;程文娟(1970-),女,安徽人,合肥工业大学副教授,硕导,研究方向为网络与信息系统、计算机辅助设计、计算机控制等;陆文骏(1979-),男,上海人,讲师,硕士,研究方向为虚拟现实、无线传感器网络。