基于OpenGL的仿真可视化软件开发

发布时间:2013.09.02 新闻来源:反射内存-实时仿真技术网 浏览次数:

基于OpenGL的仿真可视化软件开发

摘要:半实物仿真是导弹研制过程中的一个重要环节。本文介绍了使用VC4-4-OpenGL在Windows2000系统下开发半实物仿真系统图形软件的过程,并对软件中几种坐标系的变换进行了论述。最后,介绍了在软件开发中,引入多视图显示增强软件显示效果的技术。结果显示本软件配置灵活.便于扩充、升级和移植。

关键词:仿真试验室;制导系统;反射内存网;OpenGL;VC++;PCI5565;PMC5565;PCI-5565PIORC

制导系统的半实物仿真技术对于考察和提高武器系统的作战效能有着非常重要的意义。射频制导系统的半实物仿真实验室,是考察制导系统在复杂电子对抗条件下对目标截获、跟踪以及抗干扰的能力。利用OpenGL实现制导系统仿真的实时显示技术,可以在实验过程中直观地模拟目标与导弹动态运动过程,有助于提高对仿真实验结果分析的直观性。

1射频制导半实物仿真系统及可视化显示

1.1射频制导半实物仿真系统

射频制导半实物仿真系统的主要组成部分包括四个部分:①导弹动力学模型;②目标模型;

③射频环境;④3D视景显示。

 

射频制导半实物仿真系统的仿真试验是在屏蔽的暗室中进行的。在暗室内,射频仿真系统用多种工作频率向导引头辐射,而导引头部件则模拟导弹跟踪目标的模式。仿真系统通过向导弹注入飞行参数,使仿真回路中的导弹处于“飞行状态”。仿真导弹和目标的相对几何位置由仿真机控制,仿真机通过计算导弹动力学模型和目标模型,计算导弹目标相对位置;导弹跟踪系统的射频目标特征信号的合成,也由仿真机协同目标控制机完成。控制系统仿真实时显示过程控制逻辑图如图1所示。

 

图1仿真系统逻辑控制图

1。2可视化显示软件

本软件的显示功能如下:

 

a.导弹攻击三维曲线显示;

b.中距空空导弹显示;

c.近距空空导弹显示;

d.敌机显示;

e.载机显示。

功能a主要显示导弹攻击过程中的载机高度速度变化等信息,这样可以直观反映整个攻击过程。功能b、c、d、e主要显示导弹、载机在仿真过程中的实时运动姿态,主要的作用是把导弹攻击维曲线显示的对象放大,可以更直观地看到弹体感受到速度及过载的变化,以及目标与载机运动姿态的变化。

2图形显示技术与通信技术

2.1OpenGL应用程序接口技术

OpenGL被严格定义为“一种到图形硬件的软件接口”。

OpenGL是一种过程性而不是描述性的图形

API,它并不描述场景及其外观。在应用OpenGL进行程序开发时只规定实现某种特定外观或效果所需要的步骤。

OpenGL不包括任何窗口管理、用户交互或文件I/O函数。这些控制要素由操作系统自己完成操作系统API实现窗口管理,并把窗口的控制权交给OpenGL,实现OpenGL图形显示。

2.2GDI图形设备接口技术

Windows图形设备接口(GDI)是一个使Windows应用程序能够输出处理结果的函数和协议的集合。应用程序只与GDI进行数据交换,Window通过GDI可以确定硬件驱动程序能够进行什么样的工作。所有信息都存储在一个Windows数据结构之中,该结构即所谓的设备环境,又称设备描述表。它是Windows非常有限的资源中的一种,必须认真加以管理。它不仅用于被动地存储一些绘图信息,它也代表了一种权限。因为在执行任何输出.操作之前,必须先得到一个设备环境的句柄。

2.3光纤反射内存(VMIC)技术

(VMIC)实时网络是通过高速网络连接传输存储器映象,实现信息和数据共享的一种实时通信技术。它除了具有传输确定性和可预测性外,还具有传输速度高、通信协议简单、宿主机负载轻、软硬件平台适应性强、可靠的传输纠错能力、支持中断信号的传输特点。反射内存网络通过网络内存板,在分布系统中实现内存至内存的通信,而且没有软件开销,当数据被写入一台机器的实时网络内存中,实时网络卡会自动通过光纤传输到其他连在网络上的实时网络卡的内存中。通常只需几百纳秒的时间延迟,所有的实时网络卡上将写入同样的内容。而各成员在访问数据时只要访问本地的实时网络内存即可。

3软件的设计实现

3.1软件输入控制

软件的输入控制主要来自两个方面。从数据来源上来说,3D仿真实时显示软件的模型控制数据主要来自仿真机。仿真机从导弹制导系统接收导弹对弹体的控制数据,根据弹目相对运动模型,以及空气动力学模型,计算出导弹、目标的方位和高度。这些数据经过处理后成为显示软件的模型控制数据。其次是对软件显示的控制。由于3D渲染过程对计算机资源的消耗量非常大,而且本软件采用5视图显示,即在同一软件界面中显示5个仿真视角。考虑到计算机运算速度的差异,并为了确保软件在多种硬件条件下使用的适应性,在软件控制界面上加入了地形显示、复杂模型显示、单视图显示、多视图显示四项功能。此外软件输入控制还加入了主视图显示控制的功能,这样可以在多台机器上同时显示多个模型在仿真过程中的姿态,形成多视角显示。

3.2软件数据处理控制

考虑到在仿真中数据更新的实时性,以及人眼对景象的感应速度,系统仿真的时间间隔控制设定为25IllS。由于定时精度较低,所以直接采用Win32系统定时器SetTimer()实现定时从仿真机读取模型控制数据。

在本软件中采用消息机制和面向对象的方法来实现对软件数据的处理控制。由于采用多视图控制,所以需要在软件初始化阶段即对视图进行标定。每个视图即为一个显示对象。当数据到达时,通过发送消息,通知各视图对象开始接收数据和更新显示,如图2所示。

图2软件消息管理时序

3.3多视图生成和控制

生成多视图的办法主要是通过重载Ccontrol—Bar类来实现的。实现方法为,生成一个FORMCLASS,ControlBar以FORMCLASS为视图窗体。图形的绘制在FORMCLASS类中进行。由于子视图的数量过多,因此为了减小程序运行以及软件维护的负担,所有子视图共享一个视图类,而每个视图的显示任务是由主程序控制的,因此在每个视图绘制的时候都需要判断自己的工作模式。这样便出现了无法在子视图类中判断当前的视图模式的情况。为此在子视图类中增加了一个成员变量用于记录自己的工作模式。

以下语句用于检索所有视图:

POSITIONpos=pdoc一>GetFirstViewPosition();

CViewpview;

pview=pdoc一>GetNextView(pos);

以下语句判断视图类型:

(pview一>IsKindOf(RUNTIME—CLASS(COGLView)))

3.4软件坐标系控制

软件从光纤反射内存读取数据,由于仿真机的数据处于惯性坐标系下,因此,要使用这些数据必须进行坐标变换。图3为本软件设计的坐标系。

图3软件消息管理时序

 

在本软件中解决坐标变换问题的步骤是:

(1)笛卡尔坐标系向攻击曲线坐标系转化设定在笛卡尔坐标系下的坐标为(1,y1,z1),在攻击曲线坐标系下的坐标为(,,z2)。转化的公式如下:

X2=X1

Y2=Z1

Z2=Y1

(2)攻击曲线坐标系向屏幕坐标系转化由于在攻击曲线坐标系中,要考虑到增强图像的立体感,所以设定,y轴之间的夹角为30。。先定义四边形的逻辑边长,由于在导弹攻击曲线坐标系中地面是由四边形的网格构成的,转化程序如下:

k=一0.26794919;//k为斜率(30。)

Side:1.0/4.5/0.25881905;//标准四边形的斜边

以上语句中,Side为所组成地面网格的小四边形的边长;(x_Pos,y_Pos,z_Pos)为攻击曲线坐标

系坐标;(x3,y3)为屏幕坐标系坐标。本软件设定在地面的比例尺为10km/Side。

3.5软件的显示控制

显示控制主要完成显示文本数据和图像数据两部分,主要包括简化模型显示、复杂模型显示、3维飞行环境显示和3维导弹攻击曲线显示。

(1)模型显示

考虑计算机的性能要求,为使软件在性能较低的机器上也能运行,同时设计了两种模型,即对应于高性能计算机的高逼真度模型和低性能计算机的简化模型。简化模型主要采用OpenGL提供的二次曲面,高逼真度模型主要采用3D贝塞尔曲面来创建。以F一16为原型绘制的模型如图4、5所示。

图4高逼真度模型

 

图5简化模型

 

图4采用贝塞尔曲面绘制模型,模型对飞机的进气道和机身主体部分的曲线都有较高和较为细致的描述,图5采用简单二次曲面绘制模型,所以机身只采用简单圆柱代替,省略进气道,图形效果要低于图4。

(2)3维飞行环境显示

地形为4000×4000的一个正方形网格平面,每个正方形网格由两个三角形组成,四边形的顶点由随机数控制,以模拟形成地形高度的变化。对于天空采用一个32边的圆顶覆盖图像。在仿真过程中通过控制地形和天空的方位来虚拟飞行器的运动。

(3)3维导弹攻击曲线显示

攻击曲线显示的主要功能是显示导弹攻击目标的全弹道曲线。图6是软件设计的最终效果图。

图6可视化软件效果图

 

4结论

在Windows环境下,使用OpenGL+VC6.0实现仿真过程的可视化。由于在VisualStudio开发环境下进行软件的开发,因此软件的可调试性和可扩展性良好。在以后的二次开发中,可直接以动态链接库的形式加入飞行器模型和地形模型,不需要重新改写主程序,这样不仅可以在将来增加更逼真的显示模型,而且通过加入不同的飞行器模型库文件,可以适应以后不同型号的需求,实现软件的可扩展。该软件经实际应用,结果显示使用效果良好

参考文献:

[1]熊光楞,彭毅.先进仿真技术与仿真环境[M].北京:国防工业出版社,1997.

[2]王行仁.飞行实时仿真系统及技术[M].北京:北京航空航天大学出版社,1998.

[3]吴海平.OpenGL图形程序设计与应用环境[M].长沙:国防科技大学出版社,1999.

[4]RichardS,WrightJr.OpenGL超级宝典[M].北京:人民邮电出版社,2001.

 

GE反射内存价格 GE反射内存网 GEPCI5565 VMIC5565 反射内存应用案例 反射内存使用 反射内存卡 PCI-5565 PCIE5565 实时光纤网 联系电话:18612569081 彭先生 网址:www.vmic5565.com 提供反射内存应用案例,反射内存卡测试工具 最新WIN7下驱动程序

本文共分 1