论文部分内容阅读
在日常生活中,燃烧的火焰、天上的白云、升腾的烟雾、流动的河水、无边无际的大海等等都是无规则的流体。它们没有固定的外观,而且没有固定的运动方式,因此使用计算机模拟这些流体的运动一直是计算机图形学的一大难题。近些年来越来越多的计算机科研工作者开始研究如何使用计算机来模拟这些流体的运动并提出了各种不同的模拟方法。最近随着计算机科技和计算机的软硬件发展迅速,计算机的运算速度逐渐加快。因此使用计算机进行流体模拟得到的结果也越来越好。由于使用计算机来对流体进行模拟可以达到预期的效果而且所需求的成本较低,避免了拍摄真实物体所产生的一些不可靠因素,所以,现在在一些电影、广告、动画、游戏等一些行业都开始使用计算机模拟来代替真实流体。本文就是采用数学物理模型方法来实现火焰的模拟。本文火焰模拟的实验使用不可压缩的Navier-Stokes方程作为数学模型。在模型计算过程中外力项使用一个实验数值从而减少计算量来达到提高实时性的目的,而且使用实验数值代替外力来模拟火焰受到风力影响的效果也得到了较为理想的结果。在二维火焰渲染时使用OpenGL中的纹理映射技术可以提高渲染速度,从而实现了二维火焰在高网格分辨率情况下具有实时性。在windows7环境下使用Microsoft Visual Studio2010作为编程工具,采用OpenGL的纹理映射技术实现了二维火焰的实时模拟。本文主要工作如下:1.介绍了火焰模拟常用的一些方法,并且对这些方法进行比较分析了每种方法的优缺点。2.介绍了基于数学物理模型的火焰模拟算法的发展过程以及研究现状。3.使用实验数值来代替N-S方程中的外力项来模拟火焰受到风力影响时的效果。4.采用OpenGL中的纹理映射技术来渲染二维火焰提高渲染速度。5.通过设置指定区域的速度值和密度值的方法来模拟火焰遇到固定障碍物和移动障碍物的效果以及易燃物体通过燃烧的火焰时的情景模拟。