《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > 导弹武器发射环境视景仿真研究

导弹武器发射环境视景仿真研究

2009-05-27
作者:胡 令,关正西

    摘 要:虚拟某型导弹完整发射过程,在通用的计算机平台上,对开发导弹发射环境视景仿真系统进行了研究。系统设计包括场景的生成和功能效果的实现。着重介绍了系统的组成及在VC++6.0平台上利用OpenGL和DirectSound实现子模块的关键技术,提出了几项优化措施解决图像真实感与实时性的问题,最后讨论了该视景仿真系统的现实意义。
    关键词:虚拟训练;视景仿真;导弹;OpenGL;建模

 

    导弹武器是打击敌纵深目标的重要武器系统,是现代战争不可缺少的武器装备。而在真实装备上进行操作训练,耗资太大,受到场地和气候的影响,而且有些特殊情况(如灾难后果、紧急自毁等)难以实现。视景仿真[1]是仿真动画的高级阶段,也是虚拟现实技术的最重要表现形式,它产生身临其境的交互式仿真环境,实现用户与虚拟环境直接进行自然交互。将视景仿真技术应用于导弹武器装备训练,开发虚拟训练[2]和演示系统,能够对作战装备的训练操作给出良好的实时显示,给人以强烈的视觉冲击,同时虚拟操作具有可重复操作、经济、高效、安全等优点,便于操作号手认识导弹、快速掌握各个设备机构的名称与作用、熟悉操作方法和操作规程,使武器装备的训练既不需要消耗大量的人力、物力、财力资源,又能克服实装训练受时间、场地、天气因素制约的不足。导弹武器发射环境视景仿真系统,对于强化操作号手素质、提高部队战斗力具有十分明显的作用。
1 仿真系统的组成
    导弹发射环境是指导弹发射过程及其背景,根据不同的导弹武器型号发射方式不同。本文设计视景仿真系统模拟导弹部队在接受上级训练任务和发射命令后,某型陆基车载机动垂直发射导弹从发射车辆占领发射阵地、地面设备展开到导弹按预定程序完成起竖发射全过程。用户通过计算机鼠标、键盘操作,显示器实时显示输出发射进程,音响设备输出声音效果。根据导弹发射的实际,该系统需构建发射场地环境、导弹武器系统和导弹模型、车辆模型运动特征、导弹起竖和发射效果、声音输出等,具有随发射车行驶自动漫游和多视点观察功能以及良好的实时交互效果。因此,需要从场景生成和功能效果两个方面进行技术实现。其系统结构框图如图1所示。

   
    场景生成是指采用虚拟现实技术产生模拟的背景环境,其中天空和地形是必要的背景元素,模型控制包括武器装备实体模型的建立、导入、转换和显示等;在功能效果的实现方面,三维动画是指在虚拟场景下车辆的行进与停止、地面设备的展开、导弹的起竖发射以及尾罩的侧推等。视点变换实现从多视点、多角度对整个训练过程进行观察,特殊效果主要有爆炸、火焰、烟雾等效果的模拟,音响技术是场景中各种声音的再现技术,人机交互技术是用鼠标和键盘控制操作仿真软件,实现播放和停止、拾取和反馈。
2 实现子模块功能的关键技术[3]
    在Windows平台上,该视景系统基于Visual C++ 6.0和OpenGL[4-5],并结合3DS MAX建模软件、DirectSound编程设计综合进行。其中,Visual C++6.0作为功能强大的软件开发工具,MFC为系统开发提供逻辑结构;作为应用程序编程接口,OpenGL提供函数库,很容易实现模型控制、视点变换、着色、光照、纹理映射、交互操作和动画等;3DS MAX建模软件易用性强,渲染方便,尤其表现为建立模型技术能力强(主要包括:细分曲面技术、柔性选择、曲面工具和NURBS技术等) ;DirectSound是DirectX中用来控制声音的装置以及各音效处理的组件,速度快、可控性强,调用DirectX声音处理函数,可以在设计视景系统时产生实时声音效果。
2.1 场景生成
    车载机动发射导弹其发射环境是户外露天环境,天空和地形是导弹武器发射仿真系统的必要背景元素,其模型构建是调用OpenGL函数库建模;对于导弹及发射车辆等实体,用3DS MAX建立其基本模型、OpenGL加载实体模型的3DS文件,建模效率高,并且能够实现人机交互。
2.1.1 天空背景
    用OpenGL生成天空背景,通常有3种方法:(1)用一种接近天空的淡蓝色清除背景;(2)绘制一个立方体并对其进行纹理贴图的“天空盒”(SkyBox)方法;(3)半球形天空模型。对于户外天空背景,用蓝色清除背景的简易天空模型和“天空盒”模型简单而显得真实感不强。地球是球形的,半球形天空模型效果符合真实世界的天空,能够仿真出符合真实世界的天空效果。因此本文采用半球形天空模型。利用数学中的球面方程:
   
    式中,K为球面上任意一点,x﹑y、z为该点坐标,r为球的半径。化为参数方程F(r,φ,θ):
   
    由式(2)求得球面上各个点的坐标后,利用OpenGL技术中的三角形带(GL_TRIANGLE_STRIP)绘制天空框架。再应用纹理映射技术,映射出具有真实效果的3D天空云图。
2.1.2 地形背景
    完成地形的生成和不同的地貌特征(如山、平地、公路、场坪等)的生成。地形模型的绘制主要有两种方式:一是根据地形图形数据的精确描述,来进行真实地形的仿真;二是模拟自然场景中的地形。模拟地形既能满足本文设计的需要,同时应用分形理论中点位移方法,用尽量少的数据来实现真实感虚拟地形,既经济又实用。因此该视景系统采用后者,并选用了D-S算法。该算法计算简单、运算速度快,可以不断递归生成任意分辨率的细化网格,同时也可以保留已经存在的地形测量数据。在地形模型基础上,映射2D纹理图形,用以提升地形的真实性,获得发射环境所需的山、平地、公路、场坪等效果。广告牌技术(Billboard) 实现对树木模拟的快速高效。
2.1.3 模型控制
    导弹武器系统、导弹是该视景仿真系统必备的基本实体模型。用3DS MAX对其建模后生成的模型导入OpenGL程序再对其进行控制是一种比较理想的方法。3DS文件是由许多块(chunk)构成(大块中嵌套子块),一个块由块信息和块数据组成。而块信息又由块的ID和块的长度组成。完整读取实体模型3DS文件,就要读入这些块中包含的模型顶点信息、三角面信息、纹理信息和三角面的材质信息等。在MFC工程中建立虚拟模型类,采用递归方式用OpenGL命令调用3DS文件嵌套的块结构,而返回上一级(子块读完,返回父块)的条件是当前已经读入的块字节数等于块长度,从父块转向读入其子块则可用switch( )语句实现。
2.2 功能效果的实现
    功能效果的实现主要完成静态场景生成,如系统的漫游、不同视角观察、导弹发射车的行驶、导弹起竖和起飞、尾罩侧推以及尾焰的产生等。
    (1)三维动画
    在系统场景中,三维动画主要包括发射车辆沿公路平面行进与停止、地面设备的展开、导弹沿定点起竖到垂直状态和以给定初始速度弹射到一定高度尾罩侧推导弹点火。先调用glutInitDisplayMode(…|GLUT_DOUBLE)函数,启用双缓存,分配两个颜色缓冲区,前台缓冲区进行图形显示,后台缓冲区执行绘制命令。场景的绘制命令首先被后台调用,当完整的画面在后台视频中画出以后,执行SwapBuffers( )函数,成为可见视频缓存。通过设定OpenGL中的平移命令glTranslate( )和旋转命令glRotate( )命令参数来获得动画效果。这样通过矩阵变换,完成后台绘制,前台显示,两个缓存区不断循环往复,最后得到连续的画面。
    (2)视点变换
    在导弹发射过程中,单一的视点并不能满足观察者的要求。视点设置有两方面的含义:一是随着车辆行驶自动漫游,观察占领阵地过程;二是从不同的角度观察地面设备展开、导弹起竖弹射。首先,调用OpenGL函数gluViewport( )进行视口设定,确定视口的位置和大小;然后用gluPerspective( )函数来定义模型坐标系中可视锥体的大小和远近。gluPerspective( )函数具有裁剪功能,在视区锥体里面的物体被投影,而不在这个视区锥体里面的都被其视区的6个面裁剪掉。然后在取景变换中采用gluLookAt( )函数设置视点变换。起竖发射时系统设计了2个相对视点,通过键盘切换,分别用以观察导弹起竖发射时的侧视图(发射车右侧)和尾视图(发射车后面)。
    (3)音响仿真
    一个完整的仿真系统,不仅要有图像,还要有声音,这样才能产生视听效果,达到身临其境的感觉。音响仿真提供听觉信息,利用计算机多媒体技术,仿真生成导弹在运输、起竖及发射时的逼真音效,这些音效包括发射车辆声音信息(如发动机的轰鸣声、喇叭声)、导弹起竖的声音、发电机的声音及点火发射时的音效等。音响仿真过程包括数字声音的获取、质量处理和效果回放。通过现场录音,得到导弹武器发射过程中各种情况下的声音,再经过采样和滤波处理后,形成逼真地体现系统声音效果的wave文件。调用DirectSound提供的强大声音处理API函数,在应用程序中加载声音文件,并在程序运行的不同时期将声音释放。
    (4)交互技术
    本文所设计的导弹武器发射环境视景仿真系统中交互技术包括键盘交互和鼠标交互。键盘交互是指利用MFC程序框架提供的消息处理函数接收键盘动作、修改控制变量进行启动、复位、暂停、继续、终止等控制,在所定义TimeFunction( )函数中,设置键盘变量实现动画控制。鼠标交互包括拾取(Pick)和反馈(FeedBack)两个过程,鼠标左键单击屏幕上武器系统某些重要功能仪器,屏幕上文字显示该仪器的名称、作用,以及操作方式。交互技术为软件操作者提供了一个优良的平台,更加直观地显示了导弹武器发射细节,完善交互程序代码,也为下一步开发导弹武器虚拟训练系统提供了借鉴。
    (5)特殊效果
    特殊效果包括导弹发射时产生烟雾和尾焰效果。烟雾效果的模拟由一组图片经透明处理后再与背景进行融合,通过控制图片的位置和融合参数,可实现烟雾的漂移和淡化效果。尾焰效果的模拟则是采用粒子系统,通过产生具有独立的生命周期和属性同时集合内部具有相同或相似行为规律的基本粒子实现的。用若干形状简单且赋予了生命的微小粒子作为基本元素,而把物体定义为众多不规则、随机分布的粒子,随着时间的推移,由于每个粒子具有独立的生命周期,通过粒子参数进行随机过程的控制,旧的粒子不断消失,新的粒子不断出现,并且通过赋予粒子纹理来达到模拟尾焰的效果。用粒子系统实现的尾焰逼真度高。
3 优化措施
    整个视景仿真系统搭建起来后,应用OpenGL光照、材质、纹理映射以及特殊效果技术,生成逼真形象的导弹发射环境。但整个系统需要处理的数据多,运算量大,要确保软件在普通PC机上流畅运行,真正达到能够跨平台使用,采取优化措施解决图像真实感与实时性的问题是很有必要的。具体优化措施如下:
    (1)启用双缓存,前台管理图形显示,后台执行绘制命令。
    (2)开启OpenGL消隐功能,不绘制背面和被遮挡的部分。
    (3)调用显示列表依次执行列表中所列的函数语句。显示列表是将一些OpenGL的复合操作预处理后存储在内存中,程序执行过程中直接调用内存中做过预处理的该复合操作,从而优化程序性能。
    (4)采用层次细节(LOD)技术后,远处的场景相对模糊,近处的清晰自然,符合现实情况,同时也减少了计算量,提高了渲染速度。
4  仿真结果
    在3DS MAX中建立基本实体模型,在VC++和OpenGL开发环境中实现事件流程的仿真控制,开发周期短,效率高,并可以取得较好的仿真效果。根据以上方法生成的虚拟导弹发射环境视景系统,实现在虚拟环境下导弹以车载方式运送到发射阵地、导弹起竖弹射、尾罩侧推和点火过程仿真,场景真实,符合该导弹发射的实际。同时,效果流畅,人机交互自然,再配以音响产生实时音效,有一种身临其境的感觉,更增加了直观效果。导弹武器发射环境视景仿真系统使得导弹实装操作、训练和观摩简单易行,实施方便。
    本文在计算机软硬件平台上,应用虚拟仿真技术,构建了导弹发射环境视景仿真系统。虚拟视景系统具有高效性、可控性、无破坏性、使用灵活性、系统运转费用低等特点,能够突破传统训练方式的局限,既对号手进行导弹操作模拟训练,取代实弹训练中的部分科目和内容,又改变了传统的人教人、师带徒的落后教学方式,提高了训练质量,同时,对下一步导弹虚拟训练系统的开发具有很好的借鉴意义。虚拟导弹训练系统的开发应用为导弹部队提高和掌握导弹武器系统操作、迅速形成战斗力提供了新的方法。
参考文献
[1] 吴家铸,刘华峰,程志全,等. 视景仿真技术用度应用. 西安:西安电子科技大学, 2001.
[2] 刘玉海,李瑞,张锡恩. 导弹虚拟操作训练系统的设计与实现. 飞航导弹,2002, (8).
[3] 和平鸽工作室. OpenGL高级编程与可视化开发系统开发篇(第2版). 北京:中国水利水电出版社. 2007.
[4] 吴宾,毕丽蕴. OpenGL编程实例与技巧. 北京:人民邮电出版社,1999.
[5] WrightR S,Lipchak J B. OpenGL超级宝典(第2版).徐波,译. 北京:人民邮电出版社,2005.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。