CN104574471B - 一种基于混合模型的真实感尾焰实时动画方法 - Google Patents
一种基于混合模型的真实感尾焰实时动画方法 Download PDFInfo
- Publication number
- CN104574471B CN104574471B CN201410853073.5A CN201410853073A CN104574471B CN 104574471 B CN104574471 B CN 104574471B CN 201410853073 A CN201410853073 A CN 201410853073A CN 104574471 B CN104574471 B CN 104574471B
- Authority
- CN
- China
- Prior art keywords
- wake flame
- color
- particle
- wake
- reality
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2213/00—Indexing scheme for animation
- G06T2213/12—Rule based animation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Generation (AREA)
Abstract
基于混合模型的真实感尾焰实时动画方法,该方法包括以下步骤:(1)用面片模拟尾焰的主要轮廓;(2)在尾焰的轴向上引入随机变量,采用非均匀着色;(3)在尾焰的径向上引入随机变量,模拟流体效果;(4)在尾焰尾部添加喷射粒子实现动态效果;(5)最终完成真实感尾焰效果的实时绘制。本发明首先在构建正弦拟合函数时使用尾焰的几何参数作为运算系数,提高了接口使用的便利性。为了解决从面片到粒子的过度,在面片上引入轴向随机变量,采用非均匀着色,实现尾焰尾部的动态效果。同时在整体面片的着色上也采用径向随机变量,增加尾焰表面的流体效果。通过比对,本文所采取的方法所绘制的尾焰无论从真实感和实时性都取得了较为满意的表现。
Description
技术领域
本发明涉及一种虚拟现实技术领域,具体涉及一种基于混合模型的真实感尾焰实时动画方法。
背景技术
关于空军战斗机尾焰的模拟,国内外的相关研究机构已经做了大量的研究。其中主要是使用粒子系统进行模拟。通过计算粒子在高速喷射下的运动轨迹来实现尾焰的真实感。但是在实际应用中,粒子数量过少会导致尾焰不连续,这样会降低真实感。而粒子数量过多又会加重运算开销,影响实时效果。战斗机在空战场景中运动时,由于高速喷射,尾焰的轮廓相对于普通的火焰来说更加规则。因此有人使用面片来代替粒子,实现尾焰的模拟。这种方法的好处在于节省了运算开销,弊端在于降低了火焰喷射的动态效果。
因此,很多人尝试将以上两种方法结合起来。用面片来模拟尾焰头部高速喷射多产生的均匀轮廓,用粒子系统模拟尾部的动态效果。这也是当下很多机构所倾向于采用的方法。但是从实现效果来说,由于面片到粒子的过度处理的太过粗糙,依旧无法满足较高真实感的需求。
严涛等人在《飞行模拟系统中导弹尾焰的实时生成》中就采用了面片的绘制方式来节省运算开销。使用正弦函数拟合尾焰轮廓,并且根据尾焰在不同部位的颜色设定了一个颜色分布函数并引入随机量对颜色进行扰动,以实现动态效果。该方法的优点在于运算速度快,实时性好,而且通过随机变量控制尾焰的颜色分布使得火焰的颜色渐变更加逼真。但其缺点在于没有考虑燃料不完全燃烧所产生的尾烟效果。
朱宏玮等人的《导弹尾焰的可视化仿真研究与实现》在严涛的基础上引入了粒子系统,在喷射口构建了一个粒子发射盘,通过粒子系统来模拟尾焰不完全燃烧的尾烟效果。该方法在真实感上有所提升,但是对于尾焰颜色的处理和面片到粒子的过度处理比较粗糙。
严涛和朱宏玮所使用的正弦函数是标准的正弦函数,函数的参数与尾焰的几何参数没有明显的对照关系,这也造成了使用的不便。
发明内容
鉴于上述不足之处,本发明的目的在于提供一种真实感和实时性都大大提升的基于混合模型的真实感尾焰实时动画方法。
为了达到上述目的,本发明采用了以下技术方案:
一种基于混合模型的真实感尾焰实时动画方法包括以下步骤:
(1)用面片模拟尾焰的主要轮廓;
(2)在尾焰的轴向上引入随机变量,采用非均匀着色;
(3)在尾焰的径向上引入随机变量,模拟流体效果;
(4)在尾焰尾部添加喷射粒子实现动态效果;
(5)最终完成真实感尾焰效果的实时绘制。
所述步骤(1)中用面片模拟尾焰的主要轮廓方法为:
尾焰轮廓的模拟:战斗机尾焰轮廓的侧剖面曲线用三角曲线来拟合,此处选用标准的正弦函数:
y=A sin(wx+θ)
其中A是决定了正弦曲线的波峰和波谷,即y取值的最大值,w是正弦曲线的频率,而θ是正弦函数的初相,它决定了当x=0时,y的取值;
而后,确定正弦函数的相关未知参数,依据轮廓曲线几何尺寸与正弦函数未知参数间的关系:正弦曲线在横轴方向一个周期的跨度为尾焰喷射最长距离,正弦曲线的初相就是喷射口的位置,而初相所取的结果就是喷射半径,正弦曲线的波峰就是尾焰轮廓的最大半径;假设尾焰的最大半径为Rmax,喷射半径为Rori,喷射距离为L;则有:
A=Rmax
所以,当给定尾焰的喷射半径时,正弦函数的系数也相应地确定下来;
将轮廓轴向划分为m份,径向划分为n份,面片的顶点三维坐标x、y、z由如下公式计算:
其中,i=1,2,...,m;j=1,2,...n;
得到了轮廓面。
所述步骤(2)中在尾焰的轴向上引入随机变量,采用非均匀着色方法为:
概率分布P(x)如下:
喷口处x=0,L是喷射距离;
在实现过程中,每当给定一个100以内的高斯随机数random,再让random/100得到random出现的概率,如果小于0.2,该段面片带的着色范围就是(0,0.3L);如果大于0.2小于0.5,该段面片带的着色范围就在(0.3L,0.6L);其他的全部落在(0.6L,1.0L)范围内。
所述步骤(3)中在尾焰的径向上引入随机变量,模拟流体效果方法为:
利用random/100作为随机值,最终的着色范围SliceRange[i]如下,其中L是喷射距离,i是径向变量:
确定着色带具体范围时采用线性渐变方法,令颜色从喷口处开始逐渐将透明度alpha由1.0逐渐降为0;alpha的计算公式如下:
所述步骤(4)中在尾焰尾部添加喷射粒子实现动态效果方法为:
确定尾烟粒子产生的位置:
为了实现面片和粒子的自然过渡,每个尾烟粒子产生的位置放置在每条着色带的尾端;
确定尾烟粒子的运动方向:
x′=1
(x’,y’,z’)即为尾烟粒子的运动方向;j=1,2,...n;
尾烟粒子从产生到消失所经历的时间:
生命周期lifeTime由产生位置的x来确定,lifeTime计算公式如下,其中Time表示最长的生命周期,time表示最短的生命周期:
粒子系统使用billboard来绘制,由于随着温度的降低,尾烟的颜色会随着时间变化;因此从粒子产生到最终消失,颜色应当由初始位置的着色片的颜色逐渐变为黑色;颜色color的计算公式如下所示,其中RGB表示初始颜色向量,t表示粒子的生成时间,lifeTime表示粒子的生命周期;
最终完成了真实感尾焰效果的实时绘制。
本发明的有益效果在于:
首先在构建正弦拟合函数时使用尾焰的几何参数作为运算系数,提高了接口使用的便利性。为了解决从面片到粒子的过度,在面片上引入轴向随机变量,采用非均匀着色,实现尾焰尾部的动态效果。同时在整体面片的着色上也采用径向随机变量,增加尾焰表面的流体效果。通过比对,本文所采取的的方法所绘制的尾焰无论从真实感和实时性都取得了较为满意的表现。
具体实施方式
一种基于混合模型的真实感尾焰实时动画方法包括以下步骤:
步骤1用面片模拟尾焰的主要轮廓
尾焰轮廓的模拟:战斗机尾焰因为高速喷射,所以大体上呈一梭形轮廓。这个轮廓的侧剖面曲线可以用三角曲线来拟合。本文选用正弦函数。
标准的正弦函数如下:
y=A sin(wx+θ)
其中A是决定了正弦曲线的波峰和波谷,即y取值的最大值。w是正弦曲线的频率。而θ是正弦函数的初相,它决定了当x=0时,y的取值。
接下来,确定正弦函数的相关未知参数。依据轮廓曲线几何尺寸与正弦函数未知参数间的关系:正弦曲线在横轴方向一个周期的跨度为尾焰喷射最长距离,正弦曲线的初相就是喷射口的位置,而初相所取的结果就是喷射半径,正弦曲线的波峰就是尾焰轮廓的最大半径;假设尾焰的最大半径为Rmax,喷射半径为Rori,喷射距离为L;则有:
A=Rmax
所以,当给定尾焰的喷射半径时,正弦函数的系数也相应地确定下来。
如果将轮廓轴向划分为m份,径向划分为n份,于是面片的顶点三维坐标x、y、z可由如下公式计算:
其中,i=1,2,...,m;j=1,2,...n;
这样就得到了轮廓面。
步骤2在尾焰的轴向上引入随机变量,采用非均匀着色
轴向随机变量和非均匀着色:从尾焰的外观上看,颜色从头部到尾部逐渐变淡。但并非线性变淡而且尾部一直处于变化之中。为了实现这个效果,首先为尾焰在轴向上建立一个简单的概率分布。在喷口处(x=0)到喷射范围的1/3处(0.3L,L是喷射距离)一般尾焰燃烧较为均匀。从0.3L到0.6L处一部分燃料耗尽,同时尾焰消失。最后,即0.6L到L处,大部分燃料耗尽,尾焰消失。我们简要的概率分布P(x)如下:
在实现过程中,每当给定一个100以内的高斯随机数random,再让random/100得到random出现的概率,如果小于0.2,该段面片带的着色范围就是(0,0.3L);如果大于0.2小于0.5,该段面片带的着色范围就在(0.3L,0.6L);其他的全部落在(0.6L,1.0L)范围内。
步骤3在尾焰的径向上引入随机变量,模拟流体效果;
引入径向随机变量和透明度渐变:当确定了轴向面片带的着色范围后,还需要在径向给定一个随机变量。因为我们已经将面片在径向分成n个面片带,这n条面片带虽然已经可以根据轴向随机变量确定最大着色范围,但是为了增加动态效果,还需要进一步确定具体的着色范围。还是利用random/100作为随机值,最终的着色范围SliceRange[i]如下,其中L是喷射距离,i是径向变量:
确定着色带具体范围时采用线性渐变方法,令颜色从喷口处开始逐渐将透明度alpha由1.0逐渐降为0。alpha的计算公式如下:
步骤4在尾焰尾部添加喷射粒子实现动态效果
粒子系统:粒子系统的引入是为了增加尾烟的动态效果。粒子系统一般含有三个要素:生成参数、动态规则和生命周期。在本系统中,生成参数就是尾烟粒子产生的位置;动态规则就是计算粒子喷射后的运动轨迹;生命周期就是尾烟粒子从产生到消失所经历的时间。
为了实现面片和粒子的自然过渡,每个尾烟粒子产生的位置可以放置在每条着色带的尾端。
由于尾烟本身的质量较小,几何线度也很小,因此受到重力和空气阻力的影响可以忽略不计,再加上高速喷射的初速度和热力影响,粒子的运行轨迹可以直接按照着色带的切线方向来确定。因为着色带是按照正弦函数来拟合的,通过微分可以得到任意一点的切向量。
x′=1
因此(x′,y′,z′)就是尾烟粒子的运动方向,j=1,2,...n。
最后,生命周期lifeTime由产生位置的x来确定,因为火焰消失越早,尾烟的不充分燃烧就越多,生命周期就越长。lifeTime计算公式如下,其中Time表示最长的生命周期,time表示最短的生命周期:
粒子系统使用billboard来绘制。由于随着温度的降低,尾烟的颜色会随着时间变化。因此从粒子产生到最终消失,颜色应当由初始位置的着色片的颜色逐渐变为黑色。颜色color的计算公式如下所示,其中RGB表示初始颜色向量,t表示粒子的生成时间,lifeTime表示粒子的生命周期。
这样就最终完成了真实感尾焰效果的实时绘制。
Claims (3)
1.一种基于混合模型的真实感尾焰实时动画方法,其特征在于:该方法包括以下步骤:
(1)用面片模拟尾焰的主要轮廓;
(2)在尾焰的轴向上引入随机变量,采用非均匀着色方法,具体为:
概率分布P(x)如下:
喷口处x=0,L是喷射距离;
在实现过程中,每当给定一个100以内的高斯随机数random,再让random/100得到random出现的概率,如果小于0.2,这一段面片带的着色范围就是(0,0.3L);如果大于0.2小于0.5,这一段面片带的着色范围就在(0.3L,0.6L);其他的全部落在(0.6L,1.0L)范围内;
(3)在尾焰的径向上引入随机变量,模拟流体效果,具体为:
利用random/100作为随机值,最终的着色范围SliceRange[i]如下,其中L是喷射距离,i是径向变量:
确定着色带具体范围时采用线性渐变方法,令颜色从喷口处开始逐渐将透明度alpha由1.0逐渐降为0;alpha的计算公式如下:
(4)在尾焰尾部添加喷射粒子实现动态效果;
(5)最终完成真实感尾焰效果的实时绘制。
2.根据权利要求1所述的基于混合模型的真实感尾焰实时动画方法,其特征在于:所述步骤(1)中用面片模拟尾焰的主要轮廓方法为:
尾焰轮廓的模拟:战斗机尾焰轮廓的侧剖面曲线用三角曲线来拟合,此处选用标准的正弦函数:
y=A sin(wx+θ)
其中A是决定了正弦曲线的波峰和波谷,即y取值的最大值,w是正弦曲线的频率,而θ是正弦函数的初相,它决定了当x=0时,y的取值;
而后,确定正弦函数的相关未知参数,依据轮廓曲线几何尺寸与正弦函数未知参数间的关系:正弦曲线在横轴方向一个周期的跨度为尾焰喷射最长距离,正弦曲线的初相就是喷射口的位置,而初相所取的结果就是喷射半径,正弦曲线的波峰就是尾焰轮廓的最大半径;假设尾焰的最大半径为Rmax,喷射半径为Rori,喷射距离为L;则有:
A=Rmax
所以,当给定尾焰的喷射半径时,正弦函数的系数也相应地确定下来;
将轮廓轴向划分为m份,径向划分为n份,面片的顶点三维坐标x、y、z由如下公式计算:
其中,i=1,2,...,m;j=1,2,...n;
得到了轮廓面。
3.根据权利要求1所述的基于混合模型的真实感尾焰实时动画方法,其特征在于:所述步骤(4)中在尾焰尾部添加喷射粒子实现动态效果方法为:
确定尾烟粒子产生的位置:
为了实现面片和粒子的自然过渡,每个尾烟粒子产生的位置放置在每条着色带的尾端;
确定尾烟粒子的运动方向:
x′=1
(x’,y’,z’)即为尾烟粒子的运动方向;j=1,2,...n;w是正弦曲线的频率;A是决定了正弦曲线的波峰和波谷;
尾烟粒子从产生到消失所经历的时间:
生命周期lifeTime由产生位置的x来确定,lifeTime计算公式如下,其中Time表示最长的生命周期,time表示最短的生命周期:
粒子系统使用billboard来绘制,由于随着温度的降低,尾烟的颜色会随着时间变化;因此从粒子产生到最终消失,颜色应当由初始位置的着色片的颜色逐渐变为黑色;颜色color的计算公式如下所示,其中RGB表示初始颜色向量,t表示粒子的生成时间,lifeTime表示粒子的生命周期;
最终完成了真实感尾焰效果的实时绘制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410853073.5A CN104574471B (zh) | 2014-12-31 | 2014-12-31 | 一种基于混合模型的真实感尾焰实时动画方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410853073.5A CN104574471B (zh) | 2014-12-31 | 2014-12-31 | 一种基于混合模型的真实感尾焰实时动画方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104574471A CN104574471A (zh) | 2015-04-29 |
CN104574471B true CN104574471B (zh) | 2018-01-23 |
Family
ID=53090437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410853073.5A Active CN104574471B (zh) | 2014-12-31 | 2014-12-31 | 一种基于混合模型的真实感尾焰实时动画方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104574471B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147928A (zh) * | 2011-03-16 | 2011-08-10 | 美通日用品(杭州)有限公司 | 一种基于粒子系统的火焰模拟加速改进算法 |
CN102426691A (zh) * | 2011-10-24 | 2012-04-25 | 克拉玛依红有软件有限责任公司 | 一种基于gpu的实时火焰效果的模拟方法 |
DE202013105565U1 (de) * | 2013-12-06 | 2014-01-16 | Nantong Ya Tai Candle Arts & Crafts Co., Ltd. | Bunte schwankende elektronische Kerze |
CN105303601A (zh) * | 2015-09-22 | 2016-02-03 | 浙江工商大学 | 一种基于粒子系统的喷泉模拟实现方法 |
-
2014
- 2014-12-31 CN CN201410853073.5A patent/CN104574471B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147928A (zh) * | 2011-03-16 | 2011-08-10 | 美通日用品(杭州)有限公司 | 一种基于粒子系统的火焰模拟加速改进算法 |
CN102426691A (zh) * | 2011-10-24 | 2012-04-25 | 克拉玛依红有软件有限责任公司 | 一种基于gpu的实时火焰效果的模拟方法 |
DE202013105565U1 (de) * | 2013-12-06 | 2014-01-16 | Nantong Ya Tai Candle Arts & Crafts Co., Ltd. | Bunte schwankende elektronische Kerze |
CN105303601A (zh) * | 2015-09-22 | 2016-02-03 | 浙江工商大学 | 一种基于粒子系统的喷泉模拟实现方法 |
Non-Patent Citations (1)
Title |
---|
VegaPrime结合OpenGL的导弹尾焰实时模拟;李威;《计算机工程与应用》;20110929;第48卷(第29期);第220-224页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104574471A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111159898B (zh) | 波后流场参数可控的双直锥激波基本流场及设计方法 | |
CN102147928B (zh) | 一种基于粒子系统的火焰模拟加速改进算法 | |
CN107288690B (zh) | 一种基于曲线参数化的涡轮叶片气膜孔形位参数修正方法 | |
CN102915552B (zh) | 一种可控的火焰动画生成方法及其系统 | |
CN106650173B (zh) | 出口截面流场参数可控的内转式进气道基本流场设计方法 | |
CN109927917A (zh) | 一种超声速飞行器内转式乘波前体进气道一体化设计方法 | |
CN108961373A (zh) | 一种毛发渲染的方法及终端 | |
CN101615300B (zh) | 一种屏幕空间微结构表面对象环境光遮挡方法 | |
CN108038295A (zh) | 一种高超声速进气道与隔离段一体化设计方法 | |
Li et al. | Development of Roe-type scheme for all-speed flows based on preconditioning method | |
CN106089806A (zh) | 一种减小扩压器分离损失的端壁处理方法 | |
CN104574471B (zh) | 一种基于混合模型的真实感尾焰实时动画方法 | |
CN104361625A (zh) | 一种基于射线原理的带边界保留的云数据精简算法 | |
CN105205220A (zh) | 一种高超声速内转式进气道的内通道设计方法 | |
CN110310348A (zh) | 一种基于粒子系统的三维火焰动态模拟方法 | |
CN103982462B (zh) | 一种叶片尾缘的波形射流方法 | |
Yang et al. | Study on the virtual natural landscape walkthrough by using Unity 3D | |
CN105956328B (zh) | 一种高自由度的参数化曲面建立叶片模型的方法 | |
CN104574479A (zh) | 一种三维动画中鸟类单根羽毛的快速生成方法 | |
CN105303601A (zh) | 一种基于粒子系统的喷泉模拟实现方法 | |
CN107491572A (zh) | 一种缸内流体仿真计算方法 | |
CN105844036A (zh) | 一种基于随机粒子的涡旋流场动态可视化方法 | |
CN110162901A (zh) | 高超声速飞行器轴对称构型前体的优化设计方法及系统 | |
Yu et al. | A fire model for 2-D computer animation | |
CN102184568B (zh) | 一种采样反馈的火焰模型参数自动获取与优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |