论文部分内容阅读
自然景物的模拟是现在计算机图形学的一个热点,寻求能准确地描述现实世界中各种现象与景观的数学模型,并逼真地再现这些现象与景观,是计算机图形学的一个重要研究课题。影视制作、计算机动画、计算机游戏设计、虚拟现实等相关领域都需要模拟自然景物,但是很多自然景物难以用几何模型描述,如烟雾、植物、水波、火焰等。特别是流体这种形状多变的自然现象,它没有固定的形状,很难使用建模的方法去表现。这使得流体模拟成为计算机图形学中的一个难点,很多学者对这方面进行深入研究。近几年来,计算机图形学的顶级会议SIGGRAPH会议每年都会有一个流体仿真的专题,总结这方面的成果。
在计算机图形学中模拟流体可以追溯到上个世纪八十年代,那个时期的流体模拟算法一般采用构造的方法或高度场的方法去表现高低起伏的波形,这些方法往往难以控制而且对于一些复杂的现象不再适用。九十年代以后,基于物理的方法开始引入到计算机图形学中,它主要是基于流体动力学中的Navier—Stokes方程,按照描述方式的不同可以分为拉格朗日方法和欧拉方法。这两种方法都是从宏观层次上把流体假设成为连续的介质,然后根据质量守恒和动量守恒推导出离散的Navier—Stokes方程,再离散求解。
而本文主要研究的格子Boltzmann方法是基于介观层次的,它假设流体被离散成为一系列的流体微团,微团在尺度上比分子要大但是在宏观级别上又很小,然后再把Boltzmann方程在时间和空间上离散化得到格子Boltzmann方程,这个方程能恢复到宏观上的Navier—Stokes方程。介观方法在宏观方法难以胜任的多相流等复杂流体现象中则表现出强大的优势。与其他宏观方法比起来,它具有清晰的物理意义,边界条件处理简单和易于并行计算等优点,是研究流体模拟的一个热点。本文主要研究格子Boltzmann方法在图形学上的应用,使用格子Boltzmann方法描述水流的运动及其和空气的交互,并用VOF(Volume of Fluid)方法去追踪水流的自由表面,针对模拟过程中可能出现的负分布函数做了处理,为了进一步减少内存开销,引入插值格子Boltzmann方法,减少计算网格的数量提高实时性。采用图形处理器(GPU)去计算水面的反射和折射效果,提高真实性。这个方法可以为实时水体模拟提供一条新思路,并可以应用到虚拟现实、游戏制作、电影动画设计、计算机艺术等相关领域。