论文部分内容阅读
在众多美丽的自然现象中,流体以其极为复杂的表面特征,丰富的视觉效果成为摄影师,电影特效制作者和游戏工作者的研究对象。在离线渲染领域,出现了大量大规模运用到流体模拟的特效电影(如《海神号》等),而在实时图形学领域,也出现了大量的应用流体模拟的各式游戏(如《Cryostasis》等)、和实时应用程序。随着人们对于影视作品或游戏画面愈来愈高的要求,基于物理的流体模拟方法逐渐得到学术界和工业界的任何和欢迎,近二十年来取得了相当多的研究成果,也在工业界得到了广泛的应用。在流体模拟中,多种不同性质的流体之间的交互包括水中的气泡运动是个非常重要的研究方向。本文首先对基于物理的气泡模拟技术给出了一个全面的前沿性综述。本文介绍了现在流体模拟的三种主流方法:拉格朗日法、欧拉法和晶格波尔兹曼方法,并对基于三种方法的气泡模拟研究进行了对比讨论。形变对于大尺度的气泡来说,与运动是同等重要的属性。本文介绍了计算机图形学领域中弹性物体形变模拟的方法的发展过程,并结合近些年来SIGGRAPH、Eurographics和SCA等会议上的论文,讨论了弹簧质点模型、有限元模型、边界元模型、基于位置的形变模型等主流方法的异同和优缺点。然后,本文介绍了一个基于浅水方程模拟(Shallow Water Simulation)、球状漩涡(Spherical Vortex)和边界元方法(Boundary Element Method)的实时气泡模拟框架。首先,我们对浅水方程进行求解,以此来模拟水体和自由水面;然后我们使用球状漩涡的速度项,对气泡之间的速度影响进行计算,以此来模拟气泡上升的真实运动过程;最后我们使用边界元方法,来模拟上升过程中气泡的形变过程。本文提出了一种处理气泡上升中分裂与融合的方法,同时也阐述了如何使用边界元方法来处理不同尺度的形变物体。本文基于DirectX使用了高效而逼真的方法对气泡和水体进行渲染。由于本文提出的算法有着较高的并行性,本文使用CUDA将算法在GPU实现。最后,本文提供了丰富的实验数据,对本算法的效果和效率进行了对比和讨论。本文的创新性在于:·基于浅水方程、球状漩涡和边界元法实现了一个可形变气泡的实时模拟;使用浅水方程模拟水体波动,使用球状漩涡模拟气泡之间的相互作用,使用边界元法模拟气泡的形变;·提出了处理气泡上升中分裂和融合的算法,和使用边界元处理不同尺度形变物体的方法;·基于CUDA对算法进行GPU加速,并获得比较好的加速效果。