论文摘要:基于浅水方程的大规模水体实时模拟技术研究
对水体进行模拟和绘制是计算机图形学领域的经典问题,在灾害预警、电影动画制作等领域都有广泛的应用。其模拟方法主要有基于过程的模拟方法和基于物理的模拟方法两类。像河流、湖泊、海洋这样大规模水体场景的模拟多采用基于过程的模拟方法。但是基于过程的模拟方法没有建立描述流体运动的物理模型,不符合物理规律,且只能模拟相对较为简单的流体现象,限制了其应用范围。相比之下,基于物理的模拟方法符合物理规律,易于处理流固交互、水面细节等复杂场景。为达到大规模水体模拟的实时性模拟要求,本文采用欧拉方法来解算浅水方程进行水体模拟。本文的主要工作有:
1.实现基于浅水方程的流体模拟,提高系统稳定性。针对基于过程模拟方法的不足以及本文实时性要求,采用物理浅水方程技术模拟大规模流体场景。实现基于浅水方程的流体模拟,并针对实现过程中产生的毛刺、陡坡水滴斑点等不稳定现象,采用提高稳定性方法对效果进行改善。
2.实现流体表面细节模拟。采用浅水方程模拟流体将流体表面视为高度场,其绘制结果只能表现流体表面形态,对于波浪破碎、水花飞溅等会在流体表面形成粒子或空洞的现象不能模拟,限制了该方法的可交互性。针对此问题,本文对流固双向耦合技术、高度场与粒子系统双向耦合技术等进行研究,建立流固交互的物理模型,设计粒子系统生成及消逝过程,实现流固交互、流体表面细节等效果的模拟。
3.设计并实现网格加速算法,提高系统效率。本文采用精度自适应网格算法以及隔点采样方法,分别对流固交互环节以及粒子系统生成环节进行改进,提高了流体计算的整体速度。
在以上工作基础上,设计并实现了一个基于浅水方程的大规模流体实时模拟系统,该系统利用浅水方程建立物理模型,利用精度自适应网格算法及隔点采样方法提高模拟帧率,并分别在移动终端和PC上实现了大规模流体仿真系统,可对流固交互、流体表面细节等效果进行模拟。