基于粒子系统的箔条干扰视景仿真
2011-06-28马力,冯淞
马 力,冯 淞
(1.海军驻扬州723所军事代表室,扬州 225001;2.海军航空军械修理所,上海 200436)
0 引 言
某型飞机箔条质心干扰训练模拟器的开发中,需要建立虚拟战场环境,其中箔条干扰投放后形成的箔条云特效的实现是体现仿真逼真度的一个重要指标。箔条云的形成和扩散都有较强的随机性和离散性的特点,属于模糊不规则物体。
本文阐述了基于粒子系统的箔条云特效实现方法,通过在视景仿真软件Vega中进行粒子系统设计,实现箔条云的爆炸效果,完全满足系统的实时性和逼真性要求。
1 粒子系统原理
粒子系统的基本思想是:采用大量的、具有一定生命力和属性的微小粒子图元作为基本元素来描述不规则的模糊物体,其表现形式与传统的图像合成表现形式是不同的,首先一个物体不是通过一系列表面元素(像多边形或网格块)来定义它的边界,而是通过一系列粒子来确定它的形体;其次,一个粒子系统不是一个稳定的统一体,随着时间的变化,粒子的形式和运动状态将发生变化,新的粒子将“诞生”,旧的粒子会“死亡”。
在粒子系统中,每个粒子图元具有形状、大小、颜色、透明度、生命期、运动速度和运动方向等属性,这些属性都是时间的函数。每个粒子都要经历产生、运动和消亡3个阶段。一个粒子的属性主要取决于具体的应用。
粒子系统生成单帧图像的过程如图1所示。粒子系统是不断变化的,在生命期的每一刻,都要完成以下4步工作:
(1)粒子源产生新粒子:产生任意数目的新粒子,其初始属性由随机过程控制。每个粒子都有一个生命期,如果某些粒子不应删除,则可赋予它无限长的生命期。
(2)更新粒子属性:更新现存粒子的属性。
(3)删除“死”粒子:检查粒子的生命期,若为0则将粒子从系统中删除。
(4)绘制粒子:显示粒子系统中所有现存粒子。
图1 粒子系统生成单帧图像的过程
2 基于粒子系统的箔条云模型
根据粒子的属性,结合箔条干扰特征,建立基于粒子系统的箔条云模型,可表示为:MC(P,V,σ)=g(FParticle),其中P为箔条干扰位置,V为箔条云运动速度,σ为箔条干扰雷达截面积。
3 Vega中粒子系统属性设置
Vega特殊效果模拟模块提供了可扩展的粒子系统设置面板,用户可以在 LynX图形界面中方便地定义各种复杂的粒子系统,甚至可以支持动态地更改属性设置,从而能够交互地创造出基于粒子系统的自定义的特殊效果。
(1)粒子生命周期
粒子系统中的粒子不是从产生开始一直存在的,由粒子源产生的粒子都要经历产生和活动而消亡,然后再进入下一轮的循环。
Vega自定义粒子系统以秒为单位来设定粒子的生命周期。箔条云粒子系统中,选取一个粒子生命周期来描述箔条云从爆炸成型到飘散消失的过程,箔条留空时间越长,则设置粒子生命周期时间越长,系统中设置为30 s。
(2)粒子个数
就单个粒子而言,实时系统对粒子的绘制和动态更新对图形生成的影响比较小,但可能会给图像硬件在光栅化阶段带来潜在的较大负载。所以,粒子数量设置时要尽量避免在同一位置上产生数量过多的粒子。在满足仿真逼真度的前提下,将箔条云的粒子个数设置为800。
(3)粒子源
粒子系统中的所有粒子都是由粒子源产生的,所有的粒子都是从这个平台发射出来的。粒子源有2个重要的性质,即粒子源形状和粒子源大小,它们一起确定了粒子发射平台的外形特征,从而决定了粒子产生的初始状态。将箔条云形成的初始形状近似看作球体,成形后的雷达有效反射面积(RCS)不小于σ,所以在箔条云粒子系统中将粒子源形状设置为球形,半径近似为
(4)重力矢量
箔条云垂直方向的运动速度由箔条重力决定,影响箔条重力的主要因素是所选用的材料,一般镀铝玻璃丝的下降速度为0.3 m/s。重力矢量是粒子系统中的常量,它定义了1个矢量用于描述重力角速度对粒子系统的影响,将箔条云粒子系统的重力矢量设定为(0,0,-0.3)。
(5)风速矢量
箔条云水平运动的速度主要由风速决定,在粒子系统循环过程中风速可以随着时间变换,通过LynX中设置(如图2),粒子在生命周期的前0.6个周期中速度为(4,-2,0),后0.4个周期中速度为(2,-1,0),可以依据不同环境对风速进行设置。
图2 风速时间-属性设置面板
(6)随机速度
随机速度用于给粒子系统中的粒子运动添加随机效果,使得粒子空间扩散的运动方向随机,同时,速度矢量也是指定范围内的任意值。箔条云粒子系统中设随机速度为8,则粒子运动速度可能是0~8之间的任意速度,增强系统的真实感。
4 Vega应用程序中的调用
箔条质心干扰训练模拟器中采用控制台程序建立虚拟仿真应用程序。如图3所示,在程序中建立Vega应用的3个必需的步骤为:
(1)初始化:这一步初始化Vega系统并创建共享内存及初始化参数;
(2)定义:在Lynx中设置仿真程序的基本内容,并生成相应的应用程序定义文件.adf。
(3)配置:通过调用配置函数来完成配置。配置完Vega系统后,就开始了Vega应用的主循环,主循环的作用是对三维视景进行渲染驱动。它主要分2步:
(a)对于给定的帧速进行帧同步。
(b)对当前的显示帧进行必要的处理。
图3 程序运行流程图
以下显示了1个最小的Vega应用程序:
通过操作杆上的按键触发消息,在Vega主循环中调用回调函数,回调函数中通过以下语句启动LynX中设定好的箔条云特效,实现箔条云效果仿真,如图4所示。
图4 箔条云效果图
5 结论
在研制某型飞机箔条质心干扰训练模拟器中,采用基于粒子系统的箔条云效果建模方法,很好地实现了箔条云的模拟显示。该模拟训练器已研制完成并应用于教学、训练中,取得了良好效果。
[1]Reeves W T.Particle systems-a technique for modeling a class of fuzzy object[J].ACM Computer Graphics,1983,17(3):359-376.
[2]候印鸣,李德成,孔宪正,等.综合电子战[M].北京:国防工业出版社,2000.
[3]彭群生,鲍虎军,金小刚.计算机真实感图形的算法基础[M].北京:科学出版社,1999.