您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于物理的火焰动画模型及方法综述new
基于物理的火焰动画模型及方法一、概述物理火焰动画的基础是计算流体动力学。随着计算机图形学技术的飞速发展,基于数学物理基础的计算流体动力学已经成为计算机动画领域中的一个研究热点。如何进一步开拓CFD的应用范围,结合传统的火焰动画方法生成比较准确的、实时的动画效果,依然是摆在人们面前的难题之一[1]。二、数学物理模型2.1火焰动画物理模型的产生和现状对于一些自然现象,人们可以采用过程描述的方式来获得某种特定的效果,但是火焰具有实时的多变性和无规则性。它们的外观形状极不规则、没有光滑的表面。人们无法找到一个简单的模型来描述它,这个时候只有去追溯该现象本身的物理根源才能真实再现其外在的视觉现象。2.2描述流体的N-S方程数学物理模型的主要思想是把火焰看成是一种特殊的流体或特殊的物理过程。通过求解方程,从而实现对火焰发展变化的模拟。描述流体现象最为完整的是N-S方程。该方程是根据牛顿第二定律推导出来的。失量式为:2DuupfDt其中ρ为流体密度,p为压强,u为速度矢量,f为作用于单位质量流体的彻体力,为哈密顿算子。N-S方程所描述的流体有几个假设。第一个是流体是连续的。第二个是所有涉及到的场,全部是可微的。N-S方程是一个非线性偏微分方程,目前没有解析解。它求解非常困难和复杂,只有在某些十分简单的流动问题上能求得精确解。3.3简化的欧拉方程火焰动画有时不需要考虑粘性。对于燃烧现象,可以认为是不可压缩的;对于爆炸现象需要考虑气体压缩性。所以火焰动画的物理基础可以使用简化的N-S方法,即欧拉方程[2,3]。不可压缩的欧拉方程又称为理想流体欧拉方程,其矢量形式如下:0()/uuuupft其中,u是速度场,p是压力场,v是流体的动力学粘稠度,ρ是密度,f是外力。该方程同样能够精确地描述流体过程。它的计算仍然比较复杂。计算量比较大,难以满足计算机图形学对动画效果的实时性的要求。但是由于精确地反映的物体获现象的真实物理过程,能够带来准确的动画效果,因而人们始终在尝试上述方程的计算机快速解法。三、物理方法3.1欧拉法Euler方法以空间坐标为基础。使用这种方法划分的网格和所分析的物质结构是相互独立的。由于算法自身的特点,网格的大小形状和空间位置不变,因此在整个数值模拟过程中,各个迭代过程中计算数值的精度是不变的。但这种方法在物质边界的捕捉上是困难的。Nguyen[4]等人通过直接求解N-S方程进行火焰的模拟计算。他们分别对内焰和外焰进行建模。这是人们进行直接求解并进行模拟的一次非常重要的进展。目前为止,该方法所生成的火的燃烧效果是所有方法当中最好的一个。它所描绘的火焰场景也是迄今为止最为完美的效果。不过这种模型一个最大的不足在于其计算、模拟的速度太慢,这在一定程度上制约了它的应用范围。但是这种方法所开创的新思路却是非常值得我们推祟的。4.2拉格朗日法Lagrange方法以物质坐标为基础。采用这种方法时,分析结构的形状的变化和有限单元网格的变化完全是一致的,物质不会在单元与单元之间发生流动。这种方法主要的优点是能够非常精确的描述结构边界的运动。但当处理大变形问题时,将会出现严重的网格畸变现象,因此不利于计算的进行。Bai等人[5]使用Lagrange方法引入的粒子系统,该方法就是对于各个相对独立的粒子进行力的分析,来跟踪森林火灾的蔓延情况。通过求解非线性方程数值解计算出这些粒子下一个时刻的位置和其他状态量,对于非规则物体具有灵活的表现能力。4.3Lattice-Bohzmann方法数学物理方法的一条基本核心就是N-S方程。然而其连续性求解对于计算机动画来说是比较苛刻的,因此人们开始了不断的新的尝试。Lattice-Boltzmann方法(LBM)就是其中比较具有代表性的一种很好的方法。Lattice-Boltzmann方法也是一种拉格朗日方法[6]。它从微观角度考虑问题,在满足N-S方程的基础上对宏观流体、相变等物理现象进行科学地把握和控制。它不去追踪每一个实际粒子,而是对粒子分布函数的演变进行描述。该方法相对于欧拉法的优点在于编程容易[7],更容易并行化,可以很方便地处理复杂边界。拉格朗日法的方法的优点为容易表达,不需要对整个空间进行处理,容易保证质量守恒,而且比较容易实施控制。但对于平滑运动界面的重建比较难处理,而且自由界面拓扑的改变必须采用复杂的算法才能构造出该表面的几何,计算量随着粒子数的增多而加大。4.4结合改进方法欧拉法和拉格朗日法各有优缺点,为了更真实地模拟流动,基于网格的欧拉算法往往结合拉格朗日的粒子算法一起使用。结合较为成熟的方法是ALE(ArbitraryLagrange-Euler)方法[8]。它首先在结构边界运动的处理上它引进了Lagrange方法的特点,因此能够有效的跟踪物质结构边界的运动;其次在内部网格的划分上,它吸收了Euler的长处,即是使内部网格单元独立于物质实体而存在,但它又不完全和Euler网格相同,网格可以根据定义的参数在求解过程中适当调整位置,使得网格不致出现严重的畸变。这种方法在分析大变形问题时是非常有利的。使用这种方法时网格与网格之间物质也是可以流动的。四、非物理方法的组合技术无论是从视觉效果上还是从实际的模拟情况来看,可以把计算机火焰动画的方法大体分为3种类型:基于数学物理模型的火焰动画、基于粒子系统的火焰动画和基于纹理的火焰动画。基于粒子系统的火焰动画方法几乎已经成为最为成熟、最能经得起时间考验的重要模拟思想之一。基于纹理技术的火焰动画是人们从视觉角度出发所采用的简化快速算法。将这些方法结合,取长补短也是一个重要的思路。上述三种方法互相之间结合后会产生新的方法。多种方法的配合使用能够量大程度地发挥各种模型的优点,也给人们提供了现实可选的方案,因此将越来越受到人们的重视。例如在Lattice-Boltzmann方法计算的基础上,用纹理贴片的方法进行火焰的模拟,对于火焰的表现细节加以必要的补充,即在不规则变化的燃烧边缘或边界处填充比较小的纹理片,从而在整体上丰富其最终的模拟效果。[9]中运用粒子系统与一定的物理模型配合使用,对爆炸性的火焰燃烧效果进行了模拟。他们从空气爆炸力学和热力学的基本原理出发,作了一些合理的简化。由于考虑到了火焰粒子间的交互碰撞和燃烧过程,模拟取得了比较形象、真实的爆炸燃烧效果。目前为止,这种方法是爆炸燃烧效果中做得很好的一个模型。Adabala等人对化学反应的剧烈燃烧进行了简化模拟。程序使用一个随机拉格朗日函数作为模型动力学的近似代替,对火焰的闪烁程度和火焰的高度进行了控制模拟。五、研究方向5.1火焰的细节火焰燃烧不同于一般意义上的流体运动,更不同于一般物体的表面变形。在燃烧的任意小的区域内,火焰的运动变化都是难以预料的,因此火焰的燃烧细节异常十富多变。要想真实地再现和模拟这种特殊的气体现象,燃烧细节是不可或缺的表现手段。就3种方法而言,数学物理模型本质上是从火焰的物理性质出发,从理论上对火焰的运动变化进行合理的计算,比较真实地再现了火焰燃烧的真实物理过程。所以,它量能体现火焰的真实变化,也能很好地表现出场景小的丰富细节。纹理技术如果运用得恰当合理,也能反映出火焰的一些重要特征如翻转、涡旋等效果。纹理技术也能在一些不便于直接进行计算的地方进行相应的补充,因此数学物理模型与纹理技术相互配合将会给人们呈现出更加美妙的动画效果。显然,随着研究的深入,人们会去关注更多的细节,因为只有细节的突出,才会体现的更真实。而细节本身的模拟又来自对于物理模型的更为精细准确的描述和求解。5.2控制机制火焰动画的关键之一在于火焰运动变化的控制机制。好的控制方式能够准确描述火焰燃烧的具体变化情况,还能够合理调控计算的成本和代价。数学物理模型从描述物体运动变化的微分方程出发进行计算,控制比较精确.因而从未来发展上看,数学物理模型具备比较明显的潜在趋势。粒子系统在关键的控制技术上如果采用数学物理模型,那么就会彻底摆脱其自身的随机性,实现对模拟对象的精确刻画。但是目前数学物理方法在计算上的障碍还需要进一步的研究并加以改进和克服。纹理技术的控制关键在于纹理图片的选择与调配、纹理贴图的大小与方位、纹理属性的设置与调节以及纹理方法的运用手段等。通过控制粒子的方法可以对速度,粘性,levelset和速度散度进行控制。有两种基本控制即:形状球形各向同性控制和圆柱各向异性控制,在具体实施控制的时候可以使用软控制或者硬控制两种模式,从而为整个流动提供了一种灵活的控制机制。类似地,[10,11]采用迁移径向基函数(ARBF:AdvectedRadialBasisFunction)的方式来增强对流体模拟的控制,而ARBF即为采用粒子来对流体进行重新参数化的过程,通过改变粒子的位置达到控制流体的目的。5.3模拟速度首要的加速策略是寻求大时间步长模拟的方法。这样可以大大减少中间步的数量。引入的半拉格朗日方法无疑是一个突破,结合隐式迭代的方法保证了整个算法的绝对稳定性,从而可以以任意时间步长模拟流动[12]。另一个策略就是减少计算每一步的计算量。对于基于网格的方法,采用有限差分方法求解NS方程时,通常采用笛卡尔正交网格,整个计算区域均匀离散。但很多时候计算域边界很复杂,如果采用正交网格,则为了保证计算精度,需要在突变的区域划分很精细才行。在CFD领域通常采用贴体网格或者非结构化网格的思路,设计一种与求解域边界的曲面形状一致的网格以减少总的网格数。在计算机动画领域,有时采用八叉树结构来离散整个计算域[13]。为了能够模拟超大规模的问题,减少计算量。也有直接采用二维NS模拟的方法,然后结合一个中等尺度的Kolmogorov速度场来近似逼近三维情形。也可以采用移动网格窗口(MovingGridWindowing)技术,将计算区域限定在只感兴趣的地方以提高速度。更进一步,可以基于伽利略不变性(GalileanInvariance),采用自适应构架来追踪动态网格,并可以调整整个计算域形状,去掉那些对计算影响很小的体元,从而避免整个场景的网格化。随着图形可编程硬件的出现,许多研究者采用GPU来加速整个计算[14-18]。对于非基于网格的算法,目前由于GPU开始支持绘制到顶点的功能,通过像素程序计算出新的顶点位置,直接送给顶点处理器,而不需要将这些数据返回给主内存操作,从而大大提高效率。但是如何在个人计算机上实现算法的实质性的加速进展,或许还有很长的路要走。参考文献1.Park,D.G.,etal.,Aninteractivefireanimationonamobileenvironment.Mue:2008InternationalConferenceonMultimediaandUbiquitousEngineering,Proceedings,2008:p.170-175609.2.Huang,F.M.,Y.Wang,andT.Yang,FluidDynamicLimittotheRiemannSolutionsofEulerEquations:I.SuperPositionofRarefactionWavesandContactDiscontinuity.KineticandRelatedModels,2010.3(4):p.685-728.3.Cheng,H.J.,H.C.Yang,andY.Y.Zhang,RiemannProblemfortheChaplyginEulerEquationsofCompressibleFluidFlow.InternationalJournalofNonlinearSciencesandNumericalSimulation,2010.11(11):p.985-992.4.Nguyen,D.Q.,R.Fedkiw,andH.W.Jensen,Physicallybasedmodelingandanimationoffire.AcmTransactionsonGraphics,2002.21(3):p.721-728.5.Bai,T.Y.,ANon
本文标题:基于物理的火焰动画模型及方法综述new
链接地址:https://www.777doc.com/doc-2575847 .html