论文部分内容阅读
近年来,流体模拟被广泛应用于各个领域,特别是在电影特效及计算机游戏中。从视觉效果角度出发,人们更关注的是流体液面的细节,如湍流、水面薄片、细流及飞溅的水花等。然而模拟这样的小尺度的水面细节意味着更高的计算复杂性,最直接的方法是提高模拟过程中的精度,这需要较大程度的提高模拟用粒子数量或粒子表面重建的精度,直接导致模拟速度大幅度降低。但在很多实际应用中,需实时模拟生动流体,因此单纯增加计算精度的方法不适用于此类应用,新型基于物理的流体仿真方法有待研究。 平滑粒子流体动力学方法(SPH)广泛应用于图形学领域中,SPH是一种无网格拉格朗日质点的方法,其优点是计算量小,实现简单,适合应用到交互系统的物理引擎中。同时SPH存在一定的缺陷,如应力不稳定性问题,边界条件难以得到精确处理,无法捕捉到小尺度流体细节。在本文中,针对SPH本身的缺点,我们提出了两种简单且高效的方法来保持和捕捉流体中的小尺度细节。 首先,我们在传统SPH中引入涡流约束,以补偿模拟过程中损失的能量,同时引入表面张力,来对流体液面上的小尺度湍流细节效果进行还原。通过实验结果表明,我们的方法相对于传统的SPH算法能捕捉到更多的涟漪、湍流细节。 其次,为了能够捕捉到流体液面的薄片面及细流等现象,我们对牵连速度形式的SPH算法进行扩展。该方法用于解决SPH算法中应力不稳定性导致的粒子聚集问题,但只能用于流体内部。我们先采集粒子的各向异性信息以检测出稀疏粒子,然后对这些稀疏粒子进行压力校正,同时还对所有粒子的背景压力场进行滤波处理,使牵连速度形式的SPH算法可以完全应用到流体液面上。实验证明我们的方法简单有效,能够产生复杂的小尺度薄片及细流现象。