本发明属于计算机图形学和计算机仿真和虚拟现实领域,涉及一种飞机飞行拉烟模拟系统的模拟方法。
背景技术:
飞机拉烟就是“尾迹云”,就是飞机排出来的废气与周围环境空气混合后,水汽凝结而成的特殊云系。飞机尾迹在军事上有重要的价值,模拟飞机拉烟在军事仿真上有重大意义与价值。烟雾的计算机模拟近年来都是计算机图形学领域的热点。烟雾的动画模拟是计算机的重要组成部分,模拟烟雾产生的动画在影视娱乐、军事仿真等方面具有重大的应用价值。
在现实生活中飞机的飞行轨迹即为烟雾的轨迹,飞机的不同飞行轨迹可以产生不同的飞机拉烟效果。特技飞行表演中飞机拉烟的绚丽效果留给人们很多美好的印象和震撼,编排更多新奇的飞机拉烟效果,借助烟雾实时模拟,模拟特技飞行表演中的飞机拉烟仿真场景十分必要。
时代在进步,对于飞机表演过程中的飞行轨迹和烟雾效果的要求越来越高,新的机型,新的飞行轨迹,新奇的编制队伍这几个方面,在漫长的研发过程中需要无数次测试与实验,耗费大量的人力物力,但是通过飞机拉烟演练模拟系统就可以很快地在计算机中通过操作呈现飞机拉烟的飞行的模拟效果,利用飞机的3d模型和烟雾的3d模拟设定轨迹来呈现出相应的模拟效果,利用虚拟系统大大减少了在研究过程中的人力、物力及时间上的浪费。
随着虚拟科技的发展,越来越多的科技工作人员一直致力于寻找新的更为有效的方法来模拟烟雾,为了实现更加真实的模拟动画效果,必须调节烟雾的各种参数来完成对飞机拉烟模拟系统的模拟。在模拟过程中,烟雾运动的物理模型是通过流体力学中描述不可压缩流体的最为全面的微分方程的N-S方程组来组建。
将飞机的运动轨迹和烟雾运动轨迹相匹配,所以烟雾轨迹模拟是我们要解决的最核心的问题,要实现出千变万化的飞机拉烟队列,轨迹建模和构建烟雾轨迹的核心算法尤为重要。Foster和Lamorlette分别在2001年和2002年,通过人为设定空间曲线和曲面用于控制流体的运动和结构。2004年,Pi ghin等人使用基于径向基函数的控制粒子来引导周围的粒子沿着用户定义的方向运动。2006年,Kim等人提出了一种基于物理方法的物理模拟方法,可使烟雾沿着用户设定的三维空间曲线运动。2013年,Jamie等人用拉格朗日涡粒子的方法控制烟雾的速度,控制颗粒给出运动轨迹,在网格内分配目标颗粒,使目标颗粒匹配控制粒子获得速度场。2014年,Sarah Abraham等人,采用烟雾刷系统,在数字画布上绘制烟雾动画使原图更加真实,或完全用烟雾绘制精美的图片。当前烟雾轨迹模拟都集中表现特定轨迹,而忽略了烟雾仿真也可以应用到飞行表演等军事仿真,飞机拉烟轨迹可以千变万化,因此利用烟雾轨迹的模拟来完成飞机拉烟表演模拟系统。
当前烟雾轨迹模拟都集中在表现特定的轨迹,而忽略了烟雾仿真也可以应用到特技飞行表演等军事仿真上。利用现在的模拟仿真,对飞机拉烟的轨迹,机型,烟雾颜色等进行设计和设置,进而对飞机拉烟进行系统的模拟,这样就减少了实地演练的时间和资源,能够直观地看到演练后的效果,此外,所述飞机拉烟模拟系统具有操作简单,场景真实的特点。
目前的飞机拉烟模拟系统中,只是对飞机拉烟机理的模拟实现,没有对飞机编制队伍、轨迹和烟雾效果的模拟。本发明方法对飞机的机型,编制队伍,飞行轨迹和烟雾各种参数等效果都进行了仿真模拟,实现了对飞机拉烟演练的系统的仿真模拟。
技术实现要素:
本发明克服了现有技术中的不足,提供一种飞机拉烟演练模拟系统,以解决上述问题。
本发明的技术方法主要包括:利用3DMAX等3D建模软件建造飞机的3D模型;利用改进的N-S方程组建烟雾运动的物理模型;飞机在飞行时的编制队伍的设计与实现;飞机飞行轨迹的设计与实现;对用户交互界面上对飞机飞行轨迹的设计的实现;另外在交互界面对烟雾各种参数的设置的实现。
为了解决上述存在的技术问题,本发明是通过以下技术方案实现的:
一种飞机飞行拉烟模拟系统的模拟方法,本发明的飞机拉烟模拟系统主要包括:常规飞机拉烟模拟模块和自行设计演练模块;在所述常规飞机拉烟模拟模块中,用户可以根据飞机机型、飞机数量、飞机飞行编制队伍及飞机飞行轨迹的条件,来选择在项目中已有的飞机拉烟模拟的场景来展示,在场景中可以对烟雾的浓度与颜色进行设置;在所述自行设计演练模块中,用户可以在场景中根据用户的想法和意愿去选择飞机机型,并设计飞机的飞行数量和编制队伍,设计每架飞机的飞行轨迹,也可以对每股烟雾的颜色和浓度进行设置,以此达到想要的飞机拉烟场景的模拟效果,并且还可以对所设计的场景进行修改和保存;所述飞行拉烟模拟系统的后端还包括飞机模型数据库、飞机编制队伍数据库和轨迹数据库;所述飞行拉烟模拟系统的前端还包括选择飞机机型单元、选择飞机数量单元、选择飞机飞行编制队伍单元、设置烟雾颜色与浓度单元和选择飞机拉烟的飞行轨迹单元以及自行设计飞机拉烟场景模块单元;其中所述的选择飞机机型单元是展示出用户可以选择的飞机的机型,展示出飞机的图片和型号;在所述的选择飞机数量单元中就是将常规飞机拉烟场景中的飞机数量列出供选择;所述的选择飞机飞行编制队伍单元就是针对不同的数量有其常规的不同的编制队伍,陈列出在此单元内可以选择的编制队伍;所述的设置烟雾颜色和浓度单元就是用于对在模拟场景中的烟雾参数进行设置,对飞行拉烟中的烟雾进行颜色与浓度的设置;在所述的飞行拉烟的选择飞行轨迹单元中,陈列出常规场景中飞机飞行的轨迹以供选择;所述的自行设计飞机拉烟场景模块单元,用户可以在此单元模块上设置飞机机型、设置飞机数量并设计飞行时的编制队伍,设计飞机的飞行轨迹和设置烟雾的各项参数,实现想要的仿真模拟场景;该方法的模拟过程包括如下步骤:
(1)建立飞机立体3d模型库,根据可视化面板上展示的飞机模型图片,将飞机拉烟中飞机的型号、图片和相关模型导入到飞机模型库中;
步骤(1)改进了飞机模型从2d转换到3d模型,实现了运行场景时更加立体、真实的视觉效果。
(2)选择需要展示的飞机的数量,组建模拟场景中飞机飞行的编制队伍,核实飞机的数量;
步骤(2)创建了飞机的数量和编制队伍,呈现出了更多元化的表演形式和效果。
(3)利用改进的流体方程N-S方程建立烟雾的物理模型,选择每一架飞机的飞行轨迹,轨迹选择有直线,曲线,螺旋路线,创建逼真的烟雾视觉效果;
步骤(3)利用改进的流体方程N-S方程建立烟雾的物理模型,展现出真实的烟雾效果。
(4)创建烟雾的轨迹,对飞机的烟雾进行设置,使飞机的轨迹与烟雾的轨迹同步,完成飞机与烟雾同轨迹;
步骤(4)创建烟雾的飞行轨迹,使飞机的飞行轨迹与烟雾的轨迹相同步,根据拉烟的效果调整飞机飞行的速度,用以完成想要的飞机拉烟的场景。
(5)设置烟雾的各项参数,包括烟雾的浓度与颜色。
步骤(5)可以设置烟雾的相关参数,在模拟仿真场景中,针对不同的场景和不同的视觉效果,可以设置烟雾浓度与颜色等相关参数。
由于采用上述技术方案,本发明提供的界面设计和烟雾建模技术,与现有技术相比具有这样的有益效果:
1)采用3DUI界面展示3d飞机模型,更有立体展示效果;
2)采用的基于物理模型的建模方法建立烟雾模型,使场景中的模拟烟雾更有真实感;
3)采用3d立体环境场景,能够更有真实感,更有真实视觉效果。
本发明方法提供了对飞机拉烟演练时的动画模拟,可以真实的呈现出飞机拉烟的仿真模拟场景,达到真正的效果需求。该方法为飞行表演的军事仿真上提供了技术支持和效果支持。
附图说明
图1是飞机飞行拉烟模拟系统功能模块图;
图2是控制烟雾运动路径模拟的流程图;
图3是内部驱动力改变速度;
图4是本发明飞机飞行拉烟模拟系统的模拟方法流程图。
具体实施方式
利用附图将更清楚简洁的展现出本发明方法的发明内容和算法运行过程。下面将结合附图详细地阐述本发明方法的技术方案,以便更好地理解本发明的功能和实际意义。
如图1所示是飞机飞行拉烟模拟系统功能模块图,本发明的实施过程是选择已有常规飞机拉烟演练的场景观看或者进入自行设计飞机拉烟演练场景模块,然后选择相应的选项或者设计好场景后点击运行即可实现对飞机拉烟场景的仿真模拟。
飞机的3d模型是在3DMAX上制作出来的3d立体模型,根据在阅兵时或者飞行表演中的场景制作出其相应的3d模型。在飞机模型库中,有单拉烟孔飞机和双拉烟孔飞机模型供选择,另外还有不同的飞机模型型号如有歼7,K8教练机等。
由于N-S方程是牛顿第二定律在不可压缩粘性流体中的表达式,是常用的计算流体动力学模型,所以利用它来建立烟雾运动的物理模型。由于求解偏微分方程的N-S方程计算量比较大,对于传统的有限差分方法只适应规则区域的不足,使用改进的有限差分方法求解偏微分方程。
基于物理模型的模拟方法因为其可以逼真的实现流体的运动效果,已经成为研究流体模拟的一种重要方法。Kajiya J,Herzen等人在1984年就提出了云云物理方法来模拟烟雾,但当时计算机的性能只能在粗燥的网格上进行模拟,得到的模拟效果受到影响,应用与发展受到限制。直到1996年Foster N等人在三维空间上使用Navier-Stokes方程描述流体的运动。他们在求解物理模型的方程时,用来显示格式解决方程。该方法的求解速度快,但只有满足一定的条件下才能保持稳定。为解决显示求解方法所存在的稳定性问题,Stam提出一种无条件稳定模型,其分步计算Navier-Stokes方程组中的方程,即用隐式方法求解,并利用半拉格朗日方法求解N-S方程的对流项。
流体运动速度矢量为U=(Ux,Uy,Uz),时间为t,密度为ρ,在时间为t=0处,将速度场和压力场初始化。流体的连续方程为
其中,对于不可压缩流体,为散度算子,设质量力密度函数为f,为梯度算子,为对流项,v为运动粘性系数,p为压强,在不考虑流体粘性的情况下,则流体的动量方程为
Fedkiw et al改善了涡度限制,通过引入网格大小h,保证网格计算和细化的一致性,他们的方法成功实现了在粗网格上产生局部湍流的效果。改变旋涡限制方法中作用于整个空间单一不变的旋涡系数,利用自适应旋涡限制方法,通过调节螺旋形强度,网格尺度h和系数三个量的大小,产生旋涡限制力,将其作用到速度场中,可使得烟雾模拟过程中出现小漩涡细节效果。
建立飞机飞行轨迹,在本发明中,实际上是先建立烟雾的运动轨迹,再将飞机的运动轨迹与烟雾的运动轨迹相匹配,实现飞机与烟雾的运动轨迹一致。关于烟雾轨迹模拟方面的研究也是目前烟雾仿真模拟的一个热点。
2004年,Raanan等人提出一种新的方法可以有效地控制烟雾的动画,给定一系列目标例子的状态,驱动生成烟雾朝着目标运动,实现了复杂的烟的实时烟雾动画模拟,成本代价和优化代价小;2004年,Pighin等人使用基于径向基函数的控制粒子来引导周围的粒子沿着用户定义的方向运动,但受限于有限粒子数和固定的半径;2006年,Kim等人提出了一种基于物理方法的控制烟雾模拟方法,可使烟雾沿着用户设定的三维空间曲线运动,但路径控制是通过不断地将当前烟雾速度场和目标速度场相匹配得到的,故模拟过程需一直重复匹配;2007年,秦培煜、陈传波等人在物理模型的基础上,实现了模型的实时数值模拟方法;2013年,Jamie等人利用目标粒子的驱动方式控制粒子的运动轨迹,在一个网格内分配目标粒子获取速度后使得目标粒子对控制粒子进行匹配;2013年,Jamie等人用拉格朗日涡粒子的方法控制烟雾的速度,控制颗粒,给出运动轨迹,在网格内分配目标颗粒,使目标颗粒匹配控制粒子获得速度场,利用随机阴影映射机制呈现渲染粒子系统;2014年,Sarah Abraham等人建立一个可以在数字画布上绘制烟雾的笔刷系统,在真实图片的基础上绘制烟雾动画使原图更加生动真实;
在飞机飞行拉烟模拟系统已有的仿真模拟场景中,烟雾沿着已指定的轨迹运动,具体过程流程如图2所示。用户指定要实现的飞机拉烟轨迹曲线,确定曲线的半径,求解N-S方程,求解外力项,再求解对流项,再求解压力投射项,最后计算密度场,根据密度场绘制出速度场,从而给出烟雾的轨迹,飞机的运动轨迹与烟雾运动轨迹相匹配,将烟雾的速度赋值给飞机的速度,使两者同步变化。
由于烟雾的密度梯度总是从低密度处指向高密度处,若在烟雾上施加一个内部驱动力,就可使烟雾沿着密度梯度相同的方向从路径密度高的一端流向路径密度低的一端,如图3显示了内部驱动力改变速度的过程,f使得任一内部网格点k处的新速度趋近密度梯度的相反的方向。
利用飞机飞行拉烟模拟系统做出几种常见的飞机拉烟的场景实例,同时建立一个飞机拉烟场景库存储于系统中,在飞机拉烟场景库中存储了多种已经设定好的飞机拉烟场景,例如:九架飞机的菱形编制队伍场景,五架飞机大雁型编制队伍场景等可以直接选择运行观看。
飞机飞行拉烟模拟系统包含设计飞机拉烟场景和观看已有飞机拉烟场景。
示例性的,展示观看场景库中的场景。在可视化面板上,对其场景各个参数设置确定后即可观看到库中的场景。例如,可视化面板上有相应的选择飞机机型、选择飞机数量后出现其数量相相应的飞机编制队伍,面板上还可对飞机拉烟中的烟雾进行设置浓度,颜色等参数,选择飞机飞行的轨迹后运行即可出现此仿真模拟场景。
另外自行设计模块,在其可视化面板上选择飞机机型,用鼠标拖曳其飞机图标就可在其场景中出现并且改变其在场景中的位置,进而可以设计出飞机飞行时的编制队伍,然后再设计出每个飞机的飞行路线,再设置好每架飞机烟雾的浓度和颜色运行后即可展示出自行设计的飞机拉烟的场景。
图4所示是本发明飞机飞行拉烟模拟系统的模拟方法流程图,该模拟方法具体实施步骤:
1)在常规飞机拉烟模拟模块上,根据可视化面板上展示的飞机图片,飞机名称和型号选择飞机;
2)选择需要展示的飞机的数量,选择后会出现其数量相对应的飞机编制队伍,选择想要看场景的编制队伍;
3)选择每一架飞机的飞行轨迹,轨迹选择有直线,曲线,螺旋路线;
4)对飞机的烟雾进行设置,对于烟雾要设置的参数有烟雾浓度,颜色;
5)在自行设计演练模块上,点击设计模块,即可创建新的场景进行设计,针对飞机的机型,飞机的数量和轨迹进行随意设置,有时候针对一些队形的设计可能对飞机速度也可进行调整,另外还要对每架飞机拉出的烟雾的浓度和颜色进行设置;
6)在这两个模块中,都是在设置完所有属性以后,点击运行按钮便可生成飞机拉烟的仿真模拟。