基于物理的物体交互式燃烧模拟方法

文档序号:6483402阅读:129来源:国知局

专利名称::基于物理的物体交互式燃烧模拟方法
技术领域
:本发明涉及一种物体燃烧的真实感模拟方法,特别是涉及基于物理的物体交互式燃烧模拟方法。
背景技术
:物体燃烧现象的真实感模拟包括火焰的模拟、火焰的蔓延模拟及燃烧时物体的变形模拟等许多方面。然而,现有的技术主要集中在火焰本身的模拟。燃烧时火焰的蔓延及燃烧引起的物体的变形是燃烧现象不可或缺的部分,其真实感模拟直接影响到场景的逼真性。对于火焰的真实感模拟,目前的方法主要有两类启发式的方法和基于物理的方法。Reeves采用粒子系统模拟了火焰现象(ReevesWT.Particlesystems-atechniqueformodelingaclassoffuzzyobjects.In:ProceedingsofSIGGRAPH,1983.359-376.)。Pakeshi等提出了基于元胞自动机的火焰模型(PakesiiiA,YuzoK,NakajimaM.Generating2Dimensionalflameimagesincomputergraphics.IEICETransactions,1991,74(2):457-462.)。Nguyen等采用Navier-Stokes方程组来求解火焰的运动,较真实地模拟了燃烧过程(NguyenD,FedkiwR,JensenHW.Physicallybasedmodelingandanimationoffire.In:ProceedingsofSIGGRAPH,2002.721-728.)。Hong等提出了一种更为精确的火焰建模的新方法,可以较好地模拟火焰皱褶和火焰的元胞结构(HongJ,ShinarT,FedkiwR.Wrinkledflamesandcellularpatterns.In:ProceedingsofSIGGRAPH,2007.47.1-47.6.)。火焰与物体的交互作用是燃烧现象的重要方面,但是这方面的模拟技术还不多见。Lossaso等模拟了固体物质的燃烧和融化现象,其中固体物质采用传统的三角网格建模,流体则采用基于网格的欧拉方法来计算。通过对三角网格的合并和分解操作,该方法可以模拟火焰在纸张上的蔓延(LosassoF,IrvingG,GuendelmanE,etal.MeltingandBurningSolidsintoLiquidsandGases.IEEEtransactionsonvisualizationandcomputuregraphics,2006,12(3):343-352.)。fS是,该方法没有涉及燃烧时物体的变形效果的模拟。Melek等对燃烧物体的分解过程进行了模拟(MelekZ,KeyserJ.Interactivesimulationofburningobjects.In:ProceedingsofPacificGraphics,2003.462-466.MelekZ,KeyserJ.DrivingObjectDeformationsfromInternalPhysicalProcesses.In:ProceedingsoftheACMSymposiumonSolidandPhysicalModeling,2007.51-59.),但是没有考虑物体的物理属性及物体变形的物理过程。最近,Liu等提出了一种薄层物体如纸张、布料等的燃烧现象的模拟方法(LiuShiguang,LiuQiguang,AnTai,etal.Physicallybasedsimulationofthin-shellobjects'burning.TheVisualComputer,2009)。该方法只局限于薄层物体燃烧的模拟,无法推广到三维物体的燃烧模拟。前人对火焰的真实感模拟进行了深入研究,但是对于燃烧时火焰与物体的交互作用的模拟的研究工作还很少,并且局限于二维薄层物体燃烧的模拟。这些方法都无法用于三维物体的燃烧模拟。
发明内容为了解决现有技术中存在的问题,本发明提供一种基于物理的物体交互式燃烧模拟方法,其中考虑到燃烧时火焰与物体之间的交互作用,解决燃烧时三维物体变形效果不能形象模拟的问题。本发明是通过以下技术方案实现的一种基于物理的物体交互式燃烧模拟方法,主要包括以下步骤-1)采用流体力学理论绘制火焰;2)模拟火焰在物体上的蔓延;3)模拟燃烧界面的演变;4)对燃烧引起的物体变形进行模拟。所述步骤1)中采用流体力学理论绘制火焰是指基于Navier-Stokes方程组对火焰的运动进行建模,再基于环境的光照条件计算火焰中每一点的辐射强度的值,并根据光谱转换原理将其转换为RGB颜色值在绘制屏幕上显示。所述步骤2)中火焰在物体上的蔓延的模拟是一种基于梯度变化的火焰在物体上的蔓延模型。所述基于梯度的火焰蔓延模拟为将物体划分为离散的单元格,每个单元格的状态有三类燃烧状态、燃烧过的状态及未燃烧状态;着火点即为在当前时间间隔内处于燃烧状态的单元格;着火点向邻域单元格蔓延的速度与该区域纸张结构的梯度变化相关,采用下式进行计算「=KQ'(1-C;'grad2),其中,^为常数,表示当前着火点与邻域单元格位于同一水平直线上时的蔓延速度;G为蔓延系数;grad为两单元格之间的梯度。所述步骤3)中模拟燃烧界面的演变是采用基于水平集理论的方法描述物体形状变化的。所述水平集方法是指水平集在平面描述一个封闭的曲线r,这是通过函数P来隐性地改变「所实现的T={(x,;;)^(x,;;)=()};物体的边界即是小的零级水平集,而该物体本身就是d)函数值大于或等于零的点的集合。所述步骤4)中燃烧引起的物体变形进行模拟的步骤为1)将物体每个单元格的属性、分解以及受热等参数映射到该单元格的一对FFD(FreeFormDeformation)控制顶点;2)根据映射到这一对控制点上的受热差异与分解差异来计算该区域的变形程度;3)通过对控制点的位置的控制来相应地改变物体的每个单元格的位置。与现有技术相比,本发明的有益效果是通过对火焰蔓延采用基于梯度变化的模拟,形象的演示出火焰在物体上的蔓延路径和速度;利用水平集方法追溯物体形状变化,非常适合追踪物体的拓扑变化,通过该方法可以较好的求取燃烧时物体边界的演变过程;根据映射到到该单元格的一对FFD控制顶点上的受热差异与分解差异来计算该区域的变形程度,逼真地实现了三维物体燃烧时的变形效果,形象的展示了燃烧时火焰与物体的交互作用。本发明可以作为影视特技制作人员、动漫师等提供便捷的设计工具,通过设定不同的参数,可以获得逼真的不同物体的燃烧模拟效果,从而可以大大提高设计效率。此外,本发明也可以用于火灾中物体的燃烧模拟,对于火灾的扑救、救援及评估等也具有十分重要的意义。本发明的运行环境如下支持Windows98、Windows2000、WindowsXP环境,1G内存以上、nVidia6800以上显卡配置的微机。图1为本发明方法流程图。图2为纸张燃烧的模拟效果图,其中(a)-(d)为纸张燃烧过程模拟中的四幅截图。图3为三维物体(木材)的燃烧模拟效果图。具体实施例方式参见图l,本发明的具体实施方式如下(图2-图3为本发明效果图)步骤l:采用流体力学理论绘制火焰基于Navier-Stokes方程组对火焰的运动进行建模,如下式所示V如03"V7、-1V72-7(1)—=一(M.V)t/--/7+L>VM+/其中,t表示速度,U是粘滞系数,p是密度,f表示外力。然后,基于环境的光照条件计算火焰中每一点x的辐射强度的值,并根据光谱转换原理将其转换为RGB颜色值在绘制屏幕上显示。具体地,火焰中每一点x的辐射强度L采用如下公式计算"力=23_(2)其中,T为该点的温度,义为光波长,C^3.7418x10—16,C2=1.4388xl0—2。颜色转换的具体步骤如下根据CIE颜色系统确定三刺激值:c(;i)、;K义)、,将光谱强度分布转换到XYZ颜色坐标系f780nm^~^,、i=L)鹏卓)7(雄义*!^(义,v(义,),/=0'<formula>formulaseeoriginaldocumentpage6</formula>(3)其中,"是采样的波长的数目;x(义),;;(/l)和z(义)是CIE颜色系统中的三刺激函数,/(A)表示光谱强度。然后,通过如(4)所示的线性系统,把XYZ颜色坐标系转换到RGB颜色坐标系。<table>tableseeoriginaldocumentpage6</column></row><table>步骤2:基于梯度的火焰蔓延模拟物体燃烧时,火焰在物体上蔓延的路径及速度与物体的几何结构密切相关。本发明提出了一种基于梯度变化的火焰在物体上的蔓延模型。将物体划分为离散的单元格。每个单元格的状态有三类燃烧状态、燃烧过的状态及未燃烧状态。着火点即为在当前时间间隔内处于燃烧状态的单元格。假设物体上有一个单元格己经变为着火点,则该点将向与它相邻的八个单元网格以一定的速度蔓延。邻域单元格的起始着火时间为该着火点的起始着火时间与火焰蔓延到该邻域单元格的时间之和。如果邻域单元格的起始着火时间小于或等于当前时间,那么邻域单元格变为着火点。着火边缘区域为至少有一个邻域单元格不是着火点的单元格。在任一时间间隔内,通过计算着火边缘区域的单元格向邻域单元格的蔓延,我们可以不断更新着火点的分布。着火点向邻域单元格蔓延的速度与该区域物体结构的梯度变化相关,我们采用下式进行计算<formula>formulaseeoriginaldocumentpage6</formula>(5)其中,K为常数,表示当前着火点与邻域单元格位于同一水平直线上时的蔓延速度;C,为蔓延系数;grad为两单元格之间的梯度。步骤3:基于水平集理论模拟燃烧界面的演变水平集方法(Levelsetmethod)是用来追溯物体形状变化的一类重要方法,它非常适合追踪物体的拓扑变化。水平集在平面描述一个封闭的曲线r,这是通过函数P来隐性地改变r所实现的<formula>formulaseeoriginaldocumentpage6</formula>(6)物体的边界即是cp的零级水平集,而该物体本身就是cp函数值大于或等于零的点的集合。利用该方法,我们可以较好地求取燃烧时物休边界的演变过程。在曲线r所围内部,o取正,外部取负。通过计算和追踪物体边界的演变,我们可以得到因燃烧而引起的物体分裂及拓扑形状的变化。这里,我们假定零级水平集以速度v沿着其法向量方向运动,这种运动可以借助汉密尔顿-雅克比方程由水平集函数所描述p,=v|Vp|(7)通过求解此方程,我们即可确定物体边界的演变。步骤4:燃烧引起的物体变形的模拟将物体每个单元格的属性、分解以及受热等参数映射到该单元格的一对FFD(FreeFormDeformation)控制顶点。根据映射到这一对控制点上的受热差异与分解差异来计算该区域的变形程度。通过对控制点的位置的控制来相应地改变物体的每个单元格的位置,从而实现对物体的变形效果的模拟。燃烧对物体变形的影响因素主要有下面两个方面粒子温度对控制点的影响及着火点对控制顶点的影响。(1)每个粒子对控制点的影响物体燃烧时,火焰粒子从粒子中心向外以球面的形式向外释放热量,释放的热量与粒子温度成正比。火焰粒子释放的热量导致物体局部的温度不平衡,从而引起物体的变形。假设位于位置A的粒子与控制顶点B之间的距离为d,则控制点B在单位时间^内获得的热量T为-r=c,r—.i/(4n.Zw,,(8)其中,为粒子在当前的温度;Ct为常数。为了避免d为0的情况发生,取d=d+dmin(dmin为大于O的常数)。在一个时间间隔内,控制网格上每个控制点获得的热量为它们从所有粒子获得的热量之和。通过累加各个时间间隔内控制顶点获得的热量之和,可以获得该控制顶点从火焰粒子获得的总热量。(2)着火点对控制点影响着火点影响控制顶点对应的物体单元格的分解程度。物体的分解P与着火点和控制顶点之间的距离dis成反比,采用下式进行计算/>=Cp'l/diS(9)其中,Cp是分解系数。P与之前计算出来的T共同决定了物体的变形程度。变形程度的具体计算步骤如下首先选取通过该控制点且平行X轴或Y轴的直线作为旋转轴。然后,将垂直于旋转轴的并且与该控制点相邻的两个控制点绕旋转轴旋转。其中,通过控制点的任意直线都可以是旋转轴,这对于最终的计算结果影响很小。旋转角度的大小即代表了物体变形的程度D。假设i,j为变形区域对应的一对控制点,我们通过下式计算该区域的变形程度Z)":=A7;-A7;(10)=/)rj+"wj(12)其中,Ti与Pi分别表示映射在控制点i的热量与分解大小;a与P为控制系数,可以改变物体变形的大小。本发明在实施时,涉及到一些参数的取值,根据实验,以下参数值可获得较好的模拟效果r。=3.5,Cv=0.5,C,=1.0,Cp=1.0,a=0.0000004,"=0.0001。本发明的模拟速度与物体的复杂度及物体的单元格的划分有关,用户可以调整划分的精细程度来获得不同的绘制速度。权利要求1.一种基于物理的物体交互式燃烧模拟方法,其特征在于,包括以下步骤1)采用流体力学理论绘制火焰;2)模拟火焰在物体上的蔓延;3)模拟燃烧界面的演变;4)对燃烧引起的物体变形进行模拟。2.根据权利要求1所述的基于物理的物体交互式燃烧模拟方法,其特征在于,所述步骤l)中采用流体力学理论绘制火焰是指基于Navier-Stokes方程组对火焰的运动进行建模,再基于环境的光照条件计算火焰中每一点的辐射强度的值,并根据光谱转换原理将其转换为RGB颜色值在绘制屏幕上显示。3.根据权利要求1所述的基于物理的物体交互式燃烧模拟方法,其特征在于,所述步骤2)中火焰在物体上的蔓延的模拟是一种基于梯度变化的火焰在物体上的蔓延模型。4.根据权利要求3所述的基于物理的物体交互式燃烧模拟方法,其特征在于,所述基于梯度的火焰蔓延模拟为将物体划分为离散的单元格,每个单元格的状态有三类燃烧状态、燃烧过的状态及未燃烧状态;着火点即为在当前时间间隔内处于燃烧状态的单元格;着火点向邻域单元格蔓延的速度与该区域纸张结构的梯度变化相关,采用下式进行计算「=「。'(1-Cv'grad2;),其中,^为常数,表示当前着火点与邻域单元格位于同一水平直线上时的蔓延速度;Cv为蔓延系数;gmd为两单元格之间的梯度。5.根据权利要求1所述的基于物理的物体交互式燃烧模拟方法,其特征在于,所述步骤3)中模拟燃烧界面的演变是采用基于水平集理论的方法描述物体形状变化的。6.根据权利要求5所述的基于物理的物体交互式燃烧模拟方法,其特征在于,所述水平集方法是指水平集在平面描述一个封闭的曲线r,这是通过函数^来隐性地改变r所实现的r={(x,;0^(x,;;)=0};物体的边界即是d)的零级水平集,而该物体本身就是d)函数值大于或等于零的点的集合。7.根据权利要求l所述的基于物理的物体交互式燃烧模拟方法,其特征在于,所述步骤4)中燃烧引起的物体变形进行模拟的步骤为1)将物体每个单元格的属性、分解以及受热等参数映射到该单元格的一对FFD(FreeFormDeformation)控制顶点;2)根据映射到这一对控制点上的受热差异与分解差异来计算该区域的变形程度;3)通过对控制点的位置的控制来相应地改变物体的每个单元格的位置。全文摘要本发明公开了一种基于物理的物体交互式燃烧模拟方法,其特征在于,主要包括以下步骤1)采用流体力学理论绘制火焰;2)模拟火焰在物体上的蔓延;3)模拟燃烧界面的演变;4)对燃烧引起的物体变形进行模拟。本发明通过对火焰蔓延采用基于梯度变化的模拟,利用水平集方法追溯物体形状变化,根据映射到该单元格的一对FFD控制顶点上的受热差异与分解差异来计算该区域的变形程度,逼真地实现了三维物体燃烧时的变形效果,形象的展示了燃烧时火焰与物体的交互作用。为影视特技制作人员、动漫师等提供便捷的设计工具,也可以用于火灾中物体的燃烧模拟,对于火灾的扑救、救援及评估等也具有十分重要的意义。文档编号G06T15/10GK101561939SQ200910069048公开日2009年10月21日申请日期2009年5月27日优先权日2009年5月27日发明者刘世光,刘奇光,泰安申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1