基于OpenGL的实时空情仿真可视化系统的研究与实现

来源 :数字化用户 | 被引量 : 0次 | 上传用户:wilsonpfan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】基于可视化理论,本文介绍了以OpenGL为工具开发一个空情仿真系统的具体方法,重点阐述了系统实时性的实现,三维模型的建立,实时驱动模型,视点漫游等技术的实现。
  【关键词】可视化 空情仿真 OpenGL
  从近期几场高科技局部战争看,空袭作战,远程精确打击已成为现代战争的主要作战方式。做好防隐形飞机、巡航导弹、武装直升机等的打击和侦察监视是夺取未来反空袭作战胜利的关键。逼真地模拟敌攻击空情,是防空训练的一个基本前提。本系统利用可视化技术,对导弹、作战飞机、武装直升机等多种空袭武器进行仿真建模、实时驱动、同时模拟雷达对其航迹进行实时监测,为部队提供一种低成本、高效率的模拟训练方法。
  一、空情数据可视化
  空情数据可视化是将空情仿真实验中获得的大量数据用计算机图形图像的方式来展示,以期把握空情的整体演进过程。空情数据可视化属可视化技术范畴,它的系统功能包括以下几方面:a 对空情原始数据进行可视化处理,为可视化仿真开始作准备;b 对空情仿真过程进行跟踪和控制,控制仿真向着期望的方向发展;c对空情仿真数据进行可视化输出,以便于对数据的正确性进行评估。以上三点在可视化仿真系统中的关系如图1所示:
  除了以上这三项一般可视化功能以外,空情数据可视化还要具有独特的可视化功能要求,那就是空情背景可视化和视点漫游。空情背景指的是所要仿真的空域内的一般的自然景物如山川,沙漠,建筑物,树木和自然现象如雨,云,雾等。这些可以增加仿真的真实性。视点漫游功能可以让观察者在系统所描绘的三维空域上任意一点来观察空情的情况,以便对整个空情的状况有一个全盘的掌握。
  二、基于OpenGL的空情仿真可视化系统的实现
  先就建立仿真程序框架做一说明:建立仿真程序框架首先是用Visual C++的AppWizard和ClassWizard生成一个基于MFC 的应用程序框架,得到一个Windows软件界面,可以是单文档或多文档。其次对OpenGL进行初始化,由于OpenGL函数库与操作系统无关,所以使用OpenGL函数库以前要对其进行特定的初始化操作,是它与Windows 兼容。OpenGL本身也有专门的初始化函数可以利用,它的初始化工作包括:设置像素格式,建立绘图描述表,清除缓存,光照初始化。下面就本空情仿真可视化系统实现中的几个具体问题予以讨论:
  (一)系统实时性的实现
  在WINDOWS中实现实时性一般是套用计时器的定时发送功能来实现,使计时器不但充当动画的驱动器而且让它担负实时作用。但是计时器所发出的WM_TIMER消息的优先级不高,只有在windows消息队列中没有其他消息时才处理此消息。这样如果操作系统忙于其他任务时,WM_TIMER消息就得不到及时响应。
  由于实时空情仿真对实时性的要求比较高,所以在实时性的实现上我们放弃用计时器这种方法,而仅将它作为动画驱动器用。在实时控制上采用基于实际时间(用操作系统时间来代替)的实时性方法,即调用函数QueryPerformanceCounter(&Time)使仿真嚴格按系统时间来推进,具体是让仿真场景中的一切运动物体的运动均严格基于系统时间而不是帧速率。从而避免了因帧速率难以固定而引起的实时性失真。这里用本系统的一个移动目标(如飞机等)的轨迹作为例子具体说明这种方法的实现。此目标以匀加速度a做直线运动,如图2所示。
  当t=t。时,目标从P0(R0,E0,bZ0)处进入,其中R0为它的起始斜距,bZ0为起始方位角,E0为起始仰角.经过Dt 时间到达P1点(目标的起始航向为h0,起始俯仰角e0),目标的起始速度为V0.由运动学原理和几何关系可知:
  通过上面这段代码可以实现在T1时刻在新位置P1处飞行目标的新姿态的绘制。
  (二)空情模型在场景中的绘制
  要在场景中绘制目标模型,首先根据目标在空中运动的运动学方程,分别解算出经过Dt时间所运动到的新一点的位置量和姿态参数 ,位置量告诉我们在场景中的什么位置绘,姿态参数决定在该位置上模型的确切的姿态。以上的运动参数可通过下列OpenGL函数将模型在场景中显示出来:
  …………….
  glTranslated (New_x, New_y, New_z); // 新一点的位置量将模型移到新位置上
  glRotated (Rotate_x, 1.0, 0.0, 0.0); // 根据新的姿态参数调整模型姿态绕x 轴旋转
  glRotated (Rotate_y, 0.0, 1.0, 0.0); //模型绕y 轴旋转
  glRotated (Rotate_z, 0.0, 0.0, 1.0); // 模型绕z 轴旋转
  Draw3DSModel( ); //调用显示列表在新位置上用新姿态参数重绘3D模型
  ……………..
  至于空情模型在场景中的实时性驱动,有关实时性上面已经讨论过,而模型的驱动依然用计时器实现,此时计时器只充当模型的动画驱动器角色。
  (三)实时驱动多个模型
  空情仿真系统一般都是对多目标多雷达系统的模拟,所以属于多模型系统,鉴于开发本系统的主要目的是为了模拟多雷达采集空中移动目标的航迹数据,各雷达之间对同一空域所进行的侦测可以认为是独立的,而且各目标飞行具有很大的机动性,也可以认为目标之间是相互独立的 。实际上各雷达对目标的侦测及各目标运动是同时进行的,所以所开发的仿真系统也必须体现出各模型的这种并发性以保证仿真精度和实时性。要对此进行模拟即要采用多线程的并发执行来实现,让各个线程并行运行,共享CPU,这种方法也可加快显示速度,提高视觉效果。具体是给每个雷达赋予一个线程,以此来模拟各个雷达对同一空域各目标的独立侦测。也给每个目标赋予一个线程,使它们独立的按各自轨迹飞行,在各个进程同时推进时必须是基于同一时间参照系(可以以OS时间为准)实时地进行,以确保仿真精度的要求。图3展示了空情仿真基于共享CPU 的多模型并发运行的情况。
  (四)空情背景的实时绘制和空情场景的视点漫游
  空情背景可用OpenGL的纹理贴图方式来拼接,接缝处若有痕迹,可用山,树,建筑物等予以遮挡。 山,树,建筑物等最好用实时渲染的三维立体图来表示,这样可提高场景的逼真度。本系统中的山采用的是随机网格生成法,首先定义山形高程的最大最小值来定出山的陡峭度,再用多阶曲线插值的方法,对山进行一定的平滑处理,最后再贴以山的纹理和颜色增加逼真度。关于视点漫游,OpenGL提供了专门的漫游函数gluLookAt(eyex, eyey, eyez, centerx, centery,centerz,upx,upy,upz)。利用它本系统实现两种方式的漫游功能,第一种方式是以观察者的视点对整个仿真空域的漫游;第二种方法是模拟雷达的视点跟踪一个空中目标,按目标的轨迹对整个空域进行漫游。
  三、结束语
  本文论述可视化原理及其在空情仿真系统中的应用实现。其中利用WINDOWS多任务的特点,在Visual C++ 环境下,采用了开放式图形库OpenGL在微机上实现了三维动画仿真。可以看出可视化技术在空情仿真应用中所发挥的重要作用。同时本文中提出的一些方法也具有很好的扩展性,对于其他可视化系统也具有一定借鉴作用。
  参考文献:
  [1]徐桄,崔晓宝等. 空战仿真可视化系统的研究与实现[J]. 系统仿真学报 2000,12(6):648~651
  [2]翟丽霞,柳松,茅玉龙. 一种用于雷达系统功能仿真的ActiveX控件的开发与实现方法[J]. 雷达与对抗. 1998,(3):1~4
  [3]贾志刚 精通OpenGL[M]北京:电子工业出版社,1998
  [4]费广正,乔林. Visual C++高级编程技术OpenGL篇[M].北京:中国铁道出版社,2000
  作者简介:
  魏亭(1975—),男,西安工业大学讲师,主要研究方向为智能检测与控制、计算机网络。
其他文献
目的认识暴发性重症急性胰腺炎(fulminant severe acute pancreatitis,FSAP)的特点,探讨其治疗方法.方法统计出现症状72 h内住院的重症胰腺炎(severe acute pancreatitis,SAP)病人209人,回顾性的整理、分析暴发性重症胰腺炎发生、发展的特点.暴发性重症急性胰腺炎定义为,出现症状72 h内发生器官衰竭的重症胰腺炎.56例病人为暴发性重症
目的探讨粘附分子P选择素(CD62P)在紫癜性肾炎(HSPN)患者中的致病作用.方法以肾穿刺活检法取HSPN患者肾组织,采用直接免疫荧光标记单克隆抗体,常规和特殊病理染色(苏木素-伊红染色、过碘酸雪夫染色、Masson三色染色、六胺银染色),外周血采用流式细胞术的方法进行了CD62P表型的研究.结果① 32例HSPN患者肾组织中显示CD62P表达27例(84.4%),表达部位常见于肾小球系膜区、血
目的探讨质子磁共振波谱(1H Magnetic Resonance Spectroscopy,1H MRS)在星形细胞肿瘤诊断及分级中的价值.方法对MRI诊断为脑星形细胞肿瘤并经病理证实的40例患者术前行1H MRS检查,每例患者均行肿瘤区和与之相对应的健侧部位的1HMRS,以作对照研究.结果40例星形细胞瘤均表现为异常的1HMRS,主要表现为氮乙酰门氡氨酸(N-acetylaspartate,N
摘 要 每年广播机构有一定的机房需要进行装修改造。我们在设计装修改造的方案前需对原有环境进行测量以为设计提供参考依据,验收中也需要有一定的声学指标来反映改造的效果。因此房间声学指标的测量对机房改造具有极其重要的作用。本文将介绍声学指标测量的概念和方法。  关键词 环境噪声 隔声量 混响时间 时间延时分析测量  中图分类号:TB54 文献标识码:A  0 前言  每年广播机构有一定的机房需要进行装修
【摘 要】提高Web信息搜索的效率,改善搜索的性能,是信息检索领域一个重要的研究课题。本文利用爬山算法求得针对特定类别的最小集中网站集,再通过网页聚类,找到能获得最完全而准确信息的网页序列,从而提高Web搜索的速度和准确率。  【关键词】Web信息搜索 集中网站 爬山算法 聚类 相似度  搜索引擎(Search engine)是目前Web信息检索的主要工具,它所提供的导航服务已经成为互联网上非常重