基于外弹道可视化的火炮射弹散布仿真研究

2010-09-02 06:23王鹏华汪文革高小敏马胜辉
指挥控制与仿真 2010年5期
关键词:射弹视景碰撞检测

王鹏华,汪文革,高小敏,马胜辉

(解放军炮兵学院,安徽 合肥 230031)

随着计算机技术的发展,可视化仿真技术已在军事领域中得到了广泛的应用。目前,在现有的火炮射击模拟训练系统中,主要模拟炮手的操作过程,然后通过视景仿真技术逼真地展示弹丸的飞行姿态和毁伤效果,有效提高了炮手的操作水平。但在模拟训练中,忽略了实际射击条件下射弹散布的存在,仿真可信度不高,如果用于模拟演习中,也不能真实反映对抗双方的毁伤效果。本文在分析弹道条件、气象条件和地形条件对外弹道影响基础上,通过建立和解算外弹道数学模型,在三维仿真战场环境中实现外弹道可视化,通过仿真计算获得实际射击条件下的落点散布特征。

对于地面火炮,散布是指用同一门火炮、相同的弹药、装定同一射击诸元,在同样的射击条件下,由相同炮手用尽可能相同的手法进行操作,连续发射多发炮弹,所有射弹不落在同一点上,而是分布在一定范围内的现象。产生散布是由多种不同的原因引起的,主要是由于实际发射每发弹丸时的初速、射角、弹道系数产生的微小差异和弹丸在空气中运动时,气象条件存在的微小差异造成的。因此,在每次射击中,散布误差对落点的影响是不同的、随机的,属于随机误差,是不可避免的。

1 外弹道模型的建立与验证

1.1 模型的建立

为了进行射弹散布仿真,充分考虑实际射击条件对落点散布的影响,首先需要建立弹丸外弹道数学模型。根据外弹道理论,考虑弹道条件(初速、弹重和药温)和气象条件(气温、气压和风)时的弹丸质心运动方程组如式(1)[2]:

其中,方程组中各函数的表达式和含义为:空气密度函数:

阻力函数:

声速函数:

式中各系数为:A1=230K,G1=6.328×10-3K·m-1,B1=1.172×10-6K·m-2

积分初始条件为:

联立式(2)、(3)、(4)可以求得H1(y),联立式(5)、(6)、(7)可以求得G(vr,c1)。其中,cx0n(M a)的值可以由Ma的值通过查表求得。在弹道系数Cb、射角θ0和初速v0等初始条件给定时,以时间h=0.1s为积分步长,利用四阶龙格—库塔法对该方程组进行数值积分解算,便可得到外弹道上任意离散时间点的弹道诸元。根据此弹道模型不仅可以计算单一条件非标准时产生的偏差,而且可以计算多随机条件非标准时产生的综合偏差。

1.2 模型的验证

依据上述外弹道模型,以某型火炮为例,使用VC++.net语言编制弹道解算程序,并用OriginLab软件分析计算结果。

在标准条件下,已知初速620m/s,射角227.0mil,弹道系数0.5659,解算弹道方程可得落点诸元如表1所示。通过比较可以看出,解算结果与标准值非常接近,完全能够满足弹道仿真精度的要求。其弹道如图1所示,横轴代表水平距离,纵轴代表高度。

表1 弹道解算值与标准值的比较

图1 弹道及离散点的显示图

在非标准条件下,通过弹道解算可以分别得到初速、气温、气压、纵风和横风非标准时的修正量,与标准修正量的比较如图2、3、4、5和6所示。其中,横轴为射击条件,纵轴为修正量,实线为标准值,虚线为弹道方程计算值。

图2 距离修正量与气温偏差量关系

图3 距离修正量与气压偏差量关系

图4 距离修正量与初速偏差量关系

图5 距离修正量与纵风偏差量关系

图6 方向修正量与横风偏差量关系

从图2-6中可以看出,修正量随偏差量的变化率是近似一致的,最大误差为 0.01%。由于弹重和药温非标准主要对初速产生影响,因此可以折合成初速对弹道的影响进行解算。

综上所述,进行非标准条件下的外弹道仿真时,气温、气压、初速和风对弹道的影响可以近似直接代入弹道方程求解。

2 外弹道可视化仿真

2.1 基于MFC/VegaPrime的应用程序结构

VegaPrime(以下简称VP)是MultiGen—Paradigm公司推出的跨平台可扩展的三维视景开发环境,能高效创建和配置视景仿真、基于仿真的训练、通用可视化等应用程序。该软件具有友好的图形环境界面LynxPrime,完整的C++语言应用程序接口API,丰富的实用库函数及大量的功能模块,用户通过图形化界面进行快速配置,运用底层场景图形API来进行特定功能的创建,可满足多种仿真要求。VP的强大功能不仅可以满足目前复杂的应用要求,而且其高度易用性又能大大提高开发效率,已经成为视景仿真领域的主流开发平台。

VP仿真应用程序包括系统初始化、定义 ACF、配置ACF、仿真循环、仿真更新和关闭仿真循环等。本文基于 MFC/VegaPrime的应用程序结构,利用VC++.net语言应用程序接口API调用VegaPrime生成的 ACF文件,通过代码编写驱动或者设置模型的位置、姿态等,从而实现弹丸的飞行轨迹显示及与地面的碰撞检测等交互效果。

2.2 弹丸飞行轨迹的显示

在外弹道可视化仿真中,为了直观地显示弹丸的飞行轨迹,可以利用粒子特效进行模拟,但由于粒子系统的很多参数不能随意控制,而且具有扩散性,无法精确地模拟飞行轨迹。若粒子数量太大或者需要获得不同射击条件下的多条飞行轨迹,就会耗费大量的资源,运行起来速度很慢,也不能很好地满足仿真实时性的要求。因此,本文在 VP程序中调用 OpenGL绘图函数,实现轨迹的精确显示。

为了使OpenGL所绘制的场景与VP的三维场景完全融为一体,通常的做法是在回调函数中使用OpenGL在 VP场景中绘制图形。首先用函数pfPushState()、pfPushMatrix()、pfBasicState()保存当前的显示状态,然后直接用OpenGL函数绘制场景;绘制完后利用函数pfPopMatrix()、pfPopState()恢复到初始状态,就可以解决场景融合一致的问题。

在场景中绘制弹丸三维飞行轨迹,还需要设置投影矩阵和观察矩阵,打开深度检测。然后就可以编写代码,实现当弹丸的位置信息变化时,系统自动调用函数完成轨迹的绘制。绘制轨迹的主要程序代码如下:

2.3 碰撞检测获得落点位置

碰撞检测是三维视景仿真系统中不可缺少的一个重要部分,是影响虚拟现实仿真系统逼真度和现实感的重要因素。主要有两部分的内容:一是检测到有碰撞发生,二是计算出碰撞发生的位置。在外弹道可视化仿真中,为使弹丸的运动和获得的弹着点坐标更加真实,弹丸与地形之间要不断进行碰撞检测计算。

在VP中设计了一个vpIsector类处理各种碰撞检测问题。与Vega不同,VP没有采用包围盒或多边形的碰撞算法,而是采用了一条直线来检测碰撞。主要有七种碰撞检测算法:Z、ZPR、HAT、Tripod、LOS、Bump和XYZPR。每种方法都可以与物体直接发生干涉,进行碰撞检测。在本文中,主要是判断弹丸运动与地形的碰撞。为了简化碰撞检测的算法,将弹丸视为质点,选择XYZPR算法检测弹丸与地形的碰撞。XYZPR算法是以一条碰撞检测线段计算碰撞点的坐标值和PR方向。主要程序代码如下:

综上,弹丸的飞行轨迹用OpenGL来绘制,落点位置通过 VP的碰撞检测算法来实现。已知初速620m/s,射角 376.9mil,弹道系数 0.5664,其它条件为标准条件,在仿真战场环境中的仿真效果如图7所示。

图7 弹丸飞行轨迹与落点显示

3 落点散布仿真

通过上述分析可知,结合三维仿真场景,通过外弹道可视化可以获得落点的位置,仿真效果逼真。落点散布仿真就是仿真弹丸在弹道参数和随机条件下的落点散布。对于地面火炮,最重要的弹道诸元是射程和侧偏,其落点散布也分为距离散布和方向散布。距离散布主要是由初速、射角、弹道系数和纵风引起的;方向散布主要是由横风和偏流引起的。

仿真方法上:对于每个随机条件,各用符合正态分布的伪随机数表示,然后将伪随机数代入描述弹丸运动的数学模型中进行解算,最后通过在三维仿真场景中实现外弹道可视化获取落点位置。由于每发弹的伪随机数不同,因此形成落点散布。假设初速的最大误差±3m/s,射角的最大误差±1mil,弹道系数的最大误差0.001,风速最大误差±2m/s,并且都符合一定的正态分布,则可以进行n次仿真计算。

通过对仿真结果的统计分析,可以求出所有落点与目标点的射程偏差均值和侧偏均值,依据射表查取相应的修正量,修正射击开始诸元,提高火炮射击精度。根据修正后的射击开始诸元再进行射弹散布仿真,可以求出火炮对目标的命中率,进而可以计算出为达到一定命中概率时所需的弹药消耗量。

4 结束语

本文主要分析了初速、射角、弹道系数和风对射弹散布的影响,基本上涵盖了影响射弹散布的主要因素。通过相似的方法,也可以单独分析随机风的大小对落点的影响,便于在射前根据条件变化进行诸元修正。

可见,通过在三维仿真场景中进行外弹道可视化,不仅可以得到实际射击条件下落点偏差的均值和方差,为实弹射击开始诸元的修正提供依据,进而提高火炮首发命中率,而且可以逼真地显示落点散布特征,增强了模拟射击训练的真实性,具有较好的经济效益和军事效益。

[1]刘怡昕.炮兵射击学[M].北京:海军出版社,2000.

[2]韩子鹏.弹箭外弹道学[M].北京:北京理工大学出版社,2008.

[3]赵纪华,秦俊奇,狄长春,等.基于随机动力学的火炮射弹散布评估[J].军械工程学院学报,2008,20(5):38-41.

[4]李国平,张洪贵.三维视景中武器射击命中精度仿真方法研究[J].电脑开发与应用,2006,19(10):4-6.

[5]杨立功,郭齐胜,史立晨.蒙特卡罗法及其在射弹散布仿真中的应用[J].计算机仿真,2001,18(1):84-86.

[6]程委,廖学军,李智.基于Vega Prime与OpenGL的卫星在轨运行视景仿真[J].装备指挥技术学院学报,2007,18(6):50-54

猜你喜欢
射弹视景碰撞检测
基于动力学补偿的机器人电机力矩误差碰撞检测
全新预测碰撞检测系统
虚拟现实技术在游戏设计中的应用及研究
高速射弹并联入水过程空泡演化特性试验
并列超空泡射弹弹道特性研究
某炮模拟训练系统中三维视景的设计与实现
基于BIM的铁路信号室外设备布置与碰撞检测方法
水下高速超空泡射弹串行运动流体动力特性研究
基于预测和双缓冲区的直升机视景仿真
基于Virtools的虚拟灭火系统碰撞检测设计与实现