流体模拟(一)
流体模拟算法总体流程:
流体现象广泛存在于自然界、日常生活以及工 业生产中,对流体的模拟即流体动画, 一直是基于物理的动画以及计算机图形学的重要研究内容。目前, 基于物理模拟的流体动画按照其空间离散化的不同方式主要分为两大类: 网格法与无网格法。网格法将模拟域离散到网格点,而网格点的物理属性值(如速度、密度等)通过求解控制方程获得;无网格法则是将流体体积离散到采样粒子, 每个粒子具有相应的物理属性, 粒子受控制方程作用 在空间中流动。无网格法具有质量守恒、无边界区域等优势,更容易模拟复杂现象(如卷浪、水滴、流体和固体运动等),在无网格法中, 基于光滑粒子流体动力学(smoothed particle hydrody- namics, SPH)方法由于计算简单高效, 成为最受关注的方法.
该方法可以产生十分真实的效果,下图是由该算法生成的效果。
在构建流体的同时,我们不仅需要用物理仿真出粒子的运动,还需要模拟出良好的流体表面,在表面重建中,Marching Cube算法则是一种非常实用且高效的算法,因此我选择用SPH算法算出粒子运动后,利用Marching Cube