本着虚心交流与接受批评的态度,把这篇用来“应付”学校作业的综述写作放上来,不吝赐教!
0x00 To begin with
这篇文章将会包含以下内容:
- 近年来水体波形模拟的主要方法分类介绍
- 现有文献的研究趋势分析及未来方向预测
For reference:
0x01 摘要
真实感水体模拟因其高度仿真的视觉表现与广泛的应用领域成为计算机图形学的研究热点。本文回顾了近 50 年(1978-2025)来水体模拟的方法,具体而言,包括早期基于经验与统计的方法与参数化波列合成的方法,中期基于物理的数值模拟方法和波粒子方法,以及近年转向数据驱动的深度学习方法。
关键词:流体模拟、波形模拟、深度学习、物理数值方法
Realistic water simulation has emerged as a prominent research focus in computer graphics due to its highly realistic visual effects and broad application domains. This paper reviews the methods of water simulation over the past 50 years (1978–2025), specifically including early approaches based on empirical and statistical models, parametric wave synthesis methods, mid-term physics-based numerical simulation techniques and wave particle methods, as well as the recent shift toward data-driven deep learning approaches.
Keywords: Fluid simulation, Wave simulation, Deep learning, Physics-based numerical methods
0x02 引言
流体模拟作为计算机图形学与流体动力学的重要分支,是一种利用物理定律和计算机算法对流体(如水波、烟雾和火焰)的行为进行仿真预测的技术,在计算机图形学、虚拟现实、影视行业以及游戏开发领域有着广泛应用。数十年来,研究人员已经开发了一系列基于流体动力学的数值模型。虽然这些方法在模拟效果和算法优化上各有优势,但高质量的流体仿真的计算开销往往无法满足实时渲染的要求,特别是当进行高分辨率场景(如海洋、河流和湖泊)的模拟时,模拟时间将大幅增加。如何高效、实时地进行高质量、真实的流体模拟,是学术界和工业界亟待解决的难题。
在自然界的众多流体中,水体堪称一个典型的模拟对象,在游戏中对其进行模拟的需求出现得尤为频繁。真实感的水体模拟不仅需要兼顾波形(Wave Shape)和着色(Shading)的拟真性,还要能够准确响应来自各种实体和用户的交互操作,以及具备用于优化的建模方法、LOD 技术和高效的曲面细分算法。其中,水体的波形模拟尤为关键,因为水波的形态和运动受到包含风力、深度和表面张力等诸多因素的共同影响,反映了水体与环境的各种交互形式,很大程度上影响模拟的真实性和视觉效果。
传统的波形模拟方法大多为基于物理的数值模拟技术,根据流体的物理性质建立对应的数学模型,再利用数值方法对其求解,从而还原流体的动态行为。近年来,随着新一轮人工智能浪潮的兴起,研究人员也开始引入基于深度学习的方法[1],通过训练一个数据驱动的模型代理传统模拟过程中计算最密集的部分,借助神经网络的强大拟合能力与现代硬件的加速支持,在最大程度上保证模拟精度的同时,显著提升了模拟速度。本篇文章将主要关注近几十年以来关于水体波形模拟的研究进展,内容涵盖最早的基于经验和统计的参数模型方法、传统的基于物理的数值方法和最新的基于深度学习的数据驱动方法。首先,我们将按照时间顺序回顾水体波形模拟技术的发展历史[2-4];接着我们将已有的方案按照实现的技术路径分类,介绍各类方法在拟真性、实时性以及适用场景等方面的特点和优势;最后,我们将对收集到的相关文献进行统计汇总,并通过可视化手段进行趋势分析与未来研究方向的预测。通过系统地整理和分析现有文献,本篇文章旨在为研究人员提供一个较为全面的技术路线图,同时为进一步探索高效的真实感水体的波形模拟方法提供理论和实践参考。
0x03 水体波形模拟概述
真实感的水体模拟因其卓越的视觉表现,作为提升沉浸感与视觉真实度的重要技术手段,在各类游戏中得到了广泛应用。
比如求生之路 2 中诡秘的林间水面:

Water - Valve Developer Community
再到地平线西之绝境中幽深的河滩:

最后是红色沙漠(Crimson Desert,2025)中潺潺的溪涧流水:

Dev Archives: The Engine Behind Crimson Desert | GDC 2025
要想实现这些大作中极具表现力的水体渲染效果,首要难点就是对水体的波形模拟。如何表现出拟真的水面波浪动态,一直是学术界和工业界长期攻坚的技术难题。多年来,研究人员已经提出了一系列对水体波形进行模拟的方法,按时间顺序列出如下:
- 凹凸贴图(Bump Mapping)[J. Blinn,1978][5]
- 随机波形(Random Waves)[Schachter,1980][6]
- 正弦波(Sinusoids Wave)[Max N L,1981][7]
- 分形噪声(Fractal Noise)[Perlin Ken,1985][8]
- Gerstner 波(Gerstner Wave)[Fournier 和 Reeves,1986][9]
- 快速傅里叶变换(Fast Fourier Transform)[Mastin 等,1987][10]
- B-样条(Beta-Splines)[T’so 和 Barsky,1987][11]
- 欧拉方法(Eulerian Approaches)[Kass 和 Miller,1990][12]
- 拉格朗日方法(Lagrangian Approaches)[Stam 和 Fiume,1995][13]
- 欧拉-拉格朗日混合方法(Hybrid Approaches)[Brein 和 Hodgins,1995][14]
- 空间-频谱混合方法(Spatial-Spectral Approaches)[Thon 等,2000][15]
- 波粒子(Wave Particles)[Yuksel 等,2007][16]
- 流型图(Flow Map)[Vlachos,2010]
- 回归森林(Regression Forests)[Ladický 等,2015][25]
- 水面波包方法(Water Wave Packets)[Jeschke,2017][21]
- 变形感知神经网络(Deformation-aware Neural Networks)[Prantl 等,2017][29]
- 卷积神经网络(CNN)[Tompson 等,2017][26]
- 水面小波方法(Water Surface Wavelets)[Jeschke,2018][22]
- 潜在空间物理方法(Latent Space Physics)[Wiewel 等,2019][30]
- 深度神经网络(Deep Neural Network)[Zhang 等,2020][31]
- 图神经网络(Graphic Neural Network)[Sanchez-Gonzalez 等,2020][34]
按照实现技术的路径分类,可将上文总结的方法分为如下几类:
- 早期的基于凹凸贴图的方法
- 线性波形叠加方法
- 基于统计频谱的参数化方法
- 基于物理的数值模拟方法
- 波粒子方法
- 基于深度学习的方法
下面对每种类别的方法进行详细介绍。
0x04 基于凹凸贴图的方法
Blinn 在 1978[5]年开发的凹凸贴图映射(bump mapping)技术是对水体波形模拟的首次尝试。这种方法通过施加一个凹凸函数扰动表面法线方向模拟波纹效果,可以很好地再现水体表面波浪反射的随机性。

可以选用不同的凹凸映射函数对表面进行扰动。例如,Schachter(1980)[6] 提出了一个随机波形(Random Wave)的模型,该模型包含一张预计算的窄带噪声(narrow-band noise)波形表,通过叠加多个窄带噪声波形向量生成水体纹理;Perlin(1985)[8] 结合 20 个放射状摆线波形,使用球形波前替代传统的线性波前,每个波源的振幅与频率满足 $1/f$ 关系,这一性质表达分形的思想,打破了纹理分布的重复性。
尽管这些基于凹凸贴图的方法易于使用且不需要复杂的模拟过程,但通常不足以满足模拟和动画的需求。由于没有在几何层面上对网格进行任何更改,视觉上表现“凸起”的波浪缺乏足够的几何细节和动态性,难以表现真实的水面运动。
0x05 线性波形叠加方法
线性波形叠加方法基于波动的线性叠加原理,每个波列由一组独立的参数控制,叠加后可以生成复杂的表面形态。在水体模拟中,常用的基础波形为正弦波和 Gerstner 波。
正弦波(Sinusoids Wave)
Max(1981)[7] 首先将傅里叶分析理论引入计算机图形学,在他著名的电影 Carla’s Island 中使用一系列正弦波的叠加近似 Stokes 波,模拟水面波浪效果。通过不同频率正弦波的线性组合构建水面高度场,用三个参数计算在时间$t$上的海面高度图:
其中$N_{\omega}$是波数,$A_{i}$是第$i$个波的振幅,$\vec{k}=(k_{i_{x}},k_{i_{z}})$是波矢量,$\omega_{i}$是其脉冲值,$y_{0}$是自由表面的高度。
Peachey(1986)[17]通过引入波剖面函数(wave profile)与相位函数的分离设计,能够根据深度改变波的振幅,改进了这种方法。
目前在水体渲染领域已经很少直接使用正弦波进行波形模拟,业界往往青睐于使用它的进化版 Gerstner 波。
Gerstner 波(Gerstner Wave)
Fournier 和 Reeves (1986) [9]提出了基于 Gerstner 模型的水体波形建模方法,通过参数化轨道运动实现了复杂海面动态的模拟。这种方法的基本思想是使用自由表面上的每个粒子描述其静止位置周围的圆,粒子的运动方程(仅考虑 XZ 平面)可以表示为:

通过调节轨道半径$r$、波数$\kappa$、角频率$\omega$等参数,可以生成不同形态的波形(如正弦波、摆线波等)。为了模拟真实海洋表面的变化性和随机性,作者引入了波列(wave trains),即具有相同基本特征(高度,周期和波长)和相同初始相位的波浪组,每列波浪都有自己的一组参数和可选的随机元素。
相较于传统的正弦波模型,Gerstner 波具有更尖锐的波峰和更平缓的波谷,能够更真实地还原海洋中波浪的非对称特征,适用于表现大尺度的水体动态。并且由于计算量可控,性价比高,不少游戏仍采用其作为水体渲染的基础实现。
0x06 基于统计频谱的参数化方法
基于统计频谱的参数化方法区别于以往的空间域的模拟方法,首次引入了频域的概念。通过使用从理论或测量数据获得的波的频谱分布来描述海洋表面,然后从频域提取幅度分量并通过逆快速傅里叶变换(IFFT)转换回空间域,构造水体表面高度场,将表面的几何特征作为每个点$X$处的高度,如下所示:
其中$N_{s}$是频谱分量数,$\vec{k}$是波矢量,$\tilde{h}(\vec{k},t)$是从理论或经验波谱中获得的傅里叶分量。
快速傅里叶变换(FFT)
Mastin 等(1987)[10]提出了基于傅立叶合成与经验风海频谱模型的海洋波形模拟技术。其风海频谱模型是基于 Pierson 和 Moskowitz(1964)[18]由波浪记录构建的一个完全开发的风海频谱模型,其功率谱可以表示为:
其中$\alpha=0.0081$为 Phillips 常量,$g$是引力常数。频率峰值$f_{m}$可以如下表示:
该模型揭示了完全开发的一维风海频谱的可以使用风速($U_{10}$)计算得出,Hasselmann 等(1980)[19]在此基础上结合方向传播因子($D(f,\theta)$)提出了一个二维频谱:
其中:
Mastin 等在此基础上,使用正向 FFT、上述滤波器和逆 FFT,从白噪声图像中以非常简单的方式合成了海洋图像 。通过对白噪声图像进行二维快速傅里叶变换,使用二维风海频谱对 FFT 幅度项进行滤波,能够生成不错的波浪外观。

后来的研究人员在此基础上尝试使用多种频谱对水体进行模拟,如 Premoze 和 Ashikhmin(2000)[20]的 JONSWAP,Tessendorf(2001)的高斯伪随机和 Phillips 理论波谱 。这些方法在制作静止图像方面效果很好,但不适合动画。因为用于进行模拟的频谱数据不包含在时间上的变化。
空间-频谱混合方法(Spatial-Spectral Approaches)
由于传统 FFT 方法需要将频域滤波结果转换为有限空间域高度场,导致生成的海面尺寸受限且无法实现多细节层次。Thon 等(2000)[15]改良了这种方法,在一个小矩阵中对海洋频谱进行采样(a),选取其中在振幅方面最具代表性的分量(b),并将这些分量的值(频率、振幅、方向)用于摆线(trochoid)的参数。与传统的 FFT 方法不同,这种方法结合了空间域的模拟思想,使用 Gerstner 波直接叠加摆线(e),无需使用逆 FFT,从而保留了多种细节层次。另外,这种方法是完全程序化的,即只在需要时计算表面高度,无需存储网格或高度场。

同时,仅选取少量代表性的频率分量也带来了精度不足的问题,为了解决这个问题,Thon 等引入了 Perlin(1985)的湍流函数替换所有没有被选择的分量:
其中,$n_{o}$是要求和的频率分量总数,$P$是空间中的一个点,$m$是频率乘数。通过在空间域中添加该湍流函数,引入了真实海浪谱中不存在的低频分量(f),而这些分量会在 Pierson-Moskowitz 滤波后被削弱甚至剔除(a)。
最终的海面模型表示为:
其中,$A_{t}$是是湍流的振幅,$m$是频率乘数,$x_{t}(t),y_{t}(t),z_{t}(t)$ 是位移到湍流的时间函数。
0x07 基于物理的数值方法
基于物理的方法使用 N-S(Navier-Stokes)方程对流体建立数学模型。N-S 方程作为流体力学的基础,描述了流体速度和质量随时间的变化过程,可以用来模拟各种流体的动态(如水体、烟雾、大气等)。模拟的核心在于对 N-S 方程的求解,从不同的视角出发,可以分为两种求解方法:欧拉方法(基于网格)和拉格朗日方法(基于粒子)。
Navier-Stokes 方程
对于海洋等大型流体,通常考虑不可压缩流体,其形式为:
其中$\vec{U}$为流体的速度,$\mu$为粘滞系数,$g$为引力常数。算子$\nabla \vec{U}$为$\vec{U}$的梯度,可以根据下式计算:
第一个方程为质量守恒方程,对于不可压缩流体,意味着流体的密度随时间保持不变;第二个方程为动量守恒方程,流体的加速度$\frac{\partial \vec{U}}{\partial t}$等于施加于其上的力除以其密度。
欧拉方法(Eulerian approaches)
欧拉方法考察空间中的固定点,通过监测离散网格上的速度场、压力场、密度场等物理参数的变化规律,建立全局流场演化模型。这一方法的优势在于能够很方便地计算规则网格上的梯度,适用于大规模的流体模拟。
Kass 和 Miller(1990)[12]首次提出了基于物理方法的思想,通过三个假设(水面为高度场、垂直速度可忽略、水平速度恒定)将 N-S 方程简化为线性波动方程:
其中波速与水深的平方根成正比$c \propto \sqrt{ gd }$。为了求解这个方程,需要构造连续偏微分方程的离散形式,Kass 和 Miller 使用有限差分技术将其离散近似为:

这种在连续均匀网格上的有限差分将将水体离散表示为水面高度场($h_{i}$)、速度场($u_{i}$)和水底($b_{i}$),体现了欧拉方法的思想。
拉格朗日方法(Lagrangian approaches)
拉格朗日方法基于组成流体的粒子,跟踪并考察每个粒子的运动轨迹、速度、压强、密度等随时间的变化。这一方法的优势在于粒子间的独立性更利于 GPU 并行运算,适用于模拟流体的细节,但处理大规模流体时效率较低。
Stam 和 Fiume(1995)[13]首次引入将 SPH(Smoothed Particle Hydrodynamics,光滑粒子流体动力学)引入图形学,从拉格朗日视角描述流体。SPH 的核心思想包括将流体离散为一组粒子,这些粒子为可通过核函数影响其邻居的潜在隐式表面(也称为 blobs 或 metaballs)。利用核函数对物理量进行加权平均,从而近似求解 N-S 方程。
在拉格朗日视角下,N-S 方程可以被简化:考虑到每个粒子都有自己的质量,它们的总和等于流体的总质量,并且随时间保持不变,可以省略 N-S 的质量守恒方程;在动量守恒方程中,由于流体由粒子本身传输,可以省略非线性平流项($\vec{U}\nabla \vec{U}$)。最后,只需要一个线性方程来描述流体的速度:
其中,$\nabla p$为压力,$\mu \nabla^2\vec{U}$为粘性力,$\rho g$为外部压力。相关物理量可以如下近似:
对压强计算梯度可以得到压力,对速度应用拉普拉斯算子可以计算粘滞力。
Feldman 和 Bonet(2007)[42]对基于 SPH 的框架进行改进,提出了动态粒子细化的一般方法,根据固定的细化模式获得子粒子的最佳质量分布;Winchenbach 和 Kolb(2021)[43]对细化过程进行改进,使用一个离散化的目标函数自适应优化细化模式,显著降低了因固定模式带来的误差,能够模拟高达 1:1,000,000 的自适应体积比的不可压缩低粘度湍流。

拉格朗日-欧拉混合的方法(Hybrid approaches)
为了结合这两种方法的优势,研究人员还开发了结合这两种技术的混合方法,即使用欧拉方法模拟流体主体部分,再使用拉格朗日方法模拟小尺度细节,例如泡沫,气泡或喷雾,事实上,这种合成的方法也获得了非常逼真的结果。
Brein 和 Hodgins(1995)[14]首次结合了这两种方法,模拟流体在撞击时产生的波浪、飞溅现象;Takahashi 等(2003)[38]在欧拉模拟中嵌入粒子系统,创建包括飞溅和泡沫在内的复杂场景;Greenwood 和 House(2004)[39]使用水平集方法在流体空腔、流体-空气边界处创建气泡,实现了视觉上更为真实的水体表现。
Thürey 等(2006)[40]提出了一种将二维浅水模拟与三维自由表面流体模拟相结合的方法,通过使用 Lattice Boltzmann 方法求解 Saint-Venant 方程,实现了 2D 与 3D 仿真的耦合;之后作者扩展了这项工作,引入 SPH 方法表示粒子间的相互作用(2007)[41]。

0x08 波粒子方法
波粒子方法使用粒子代表水波,允许其发生反射以及和其它对象相互作用。这种方法结合波粒二象性的思想,将三维水体波形模拟转化为对二维粒子运动进行模拟。
波粒子(Wave Particle)
Yuksel 等(2007)[16]首次引入波粒子(wave particle)的概念,模拟水体与其它物体的交互。每个波浪粒子携带振幅、波长、传播方向等属性,通过叠加局部偏差函数生成水面高度场。
其中$a_{i}$是波粒子的振幅,$r_{i}$是波粒子的半径,$\Pi(x)$是矩形函数,保证波形在有限范围内不发生突变:
为了模拟真实水波的横纵波复合效应,Yuksel 等扩展了高度场,引入水平偏差分量$\eta_{xy}$:
其中,$D_{i}^L$是纵向局部偏差函数,$L_{i}$是描述纵向波形的函数,模拟波粒子的圆周运动。

此外,当波前扩展超过波粒子半径一半以上时,将波粒子分裂为三个子波粒子(振幅和分散角为原波粒子的三分之一,波粒子半径不变),这种细分方法可以保持波前的连续性,兼顾波形的扩展和收缩。


水面波包方法(Water Wave Packets)
Jeschke 和 Wojtan(2017)[21]在波粒子理论的基础上,提出了水面波包(water packets)方法,将水波能量封装为波包单元。与传统波粒子方法不同,每个波包包含一组波长和波列,其运动由两个速度控制:
- 群速度:决定波包整体能量传播方向
- 相速度:决定波包内部波峰运动速度
基于 Airy 波理论,波包高度场通过如下公式近似:
其中,$\phi(x)$为高斯包络函数,$X_{pg}$为相速度与群速度累计位移差,$a_{j}$和$k_{j}$分别表示波包的振幅和波数。为了维持能量守恒,根据面积变化动态调整波包振幅:
其中,$A_{n}$为波包面积,$\rho,\sigma$分别为水密度和张力。

水面小波方法(Water Surface Wavelets)
Jeschke 等(2018)[22]提出的水面小波方法(water surface wavelets)在水面波包算法基础上进行了改进。通过引入小波变换,将水面高度场分解为空间-频率方向的振幅函数:
其中振幅函数$A(x,k,t)$包含位置$x$,波矢量$k$和时间$t$。这种变换将高频波动信息编码到振幅函数中,使其空间变化更平滑,降低了对网格分辨率的要求。

0x09 基于深度学习的方法
近年来,深度学习技术逐渐被研究人员引入水体模拟领域,通过使用基于深度学习的方法,以较小的计算成本近似求解流体动力学方程(N-S 方程),能够提升模拟效率和逼真度。对应求解 N-S 的两种主流视角,使用深度学习的加速也分为两大类别:对欧拉或拉格朗日方法进行加速,也有研究人员在这方面做了一些总结[23-24]。
回归森林(Regression Forest)
Ladický 等(2015)[25]针对传统基于粒子的流体模拟方法(如 SPH,PBF 等)计算成本高、步长受限等问题,首创性地提出了一种数据驱动的基于机器学习的方法。他们将求解 N-S 方程的过程转化为回归问题,通过训练回归森林模型学习并预测粒子加速度。特征向量直接对应 N-S 方程中的粘度、张力、压力和不可压缩约束:
该特征向量设计使得模型能够在保持物理合理性的前提下,实现比传统 SPH 方法快 10-1000 倍的实时模拟速度。

卷积神经网络(Convolutional Neural Network)
Tompson 等(2017)[26]提出了一种基于卷积神经网络加速欧拉流体模拟的方法,使用卷积神经网络替代传统压力投影求解器,结合无监督学习框架提高计算效率。
该方法的核心在于使用 CNN(卷积神经网络)预测不可压缩流体的压力场,代替传统数值方法中对一个大型稀疏线性系统进行求解的过程。具体而言,研究人员设计了一个专门的网络结构,网络的输入为速度场的散度和边界条件,输出为对流体压力场的估计。

实验结果表明,该方法在二维和三维模拟中都能实现实时性能,并且在保持物理准确性的同时,显著提高了计算效率。
Xiao 等(2018)[27]在此基础上改变了网络的输入:根据离散化欧拉网格结构和中间速度作为输入,预测泊松系统的解;Zhang 等(2023)[28]通过训练 CNN 求解 ISPH(不可压缩光滑粒子流体动力学)中的 PPE(泊松压力方程),首次训练了一个拉格朗日视角的 CNN 模型。
图神经网络(Graph Neural Network)
Sanchez-Gonzalez 等(2020)[32]首次提出了基于图神经网络的求解器(GNS),将图神经网络引入流体模拟:用图中的节点表示物理系统的粒子,并通过学习的信息传递来计算流体动力学;Li 和 Farimani(2022)[34]使用 GNN 加速拉格朗日流体模拟;Zhang 等(2024)[34]使用 GNN 代替 CNN 对 ISPH 的 PPE 进行求解,增加了对非结构化数据的处理;Higaki 等(2025)[35]在 GNS 的基础上提出了逐步增强的 GNS,证明了在固定粒子/节点大小时,拉格朗日求解器的时间步长可以显著增加。
0x0a 总结
各类模拟方法总结
本文主要介绍了近 50 年以来计算机图形学中对水体模拟的各项研究工作,研究人员提出了大量且多样的模拟方法,我们大致可以将这些方法分为六个类别。具体而言,基于凹凸贴图的方法和线性波形叠加方法是对水体模拟的早期尝试,这些方法虽然能在视觉上获得不错的模拟效果,但缺乏物理交互性,无法表现动态细节;随着研究的进展,基于统计频谱的参数化方法和基于物理的数值方法逐渐成为主流,这些方法在满足了交互性的同时,能够提供极其拟真的洋面外观,但因为计算复杂度较高,难以满足实时渲染的要求;近年来,波粒子方法和基于深度学习的技术也陆续涌现,为水体模拟带来了新的可能性。
| 水体波形模拟类别 | 主要思想 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|---|
| 基于凹凸贴图的方法 | 通过预定义的纹理(法线贴图/高度贴图)模拟水面波纹,利用光影变化产生动态效果。 | 计算开销极低;实时性高;实现简单 | 无物理交互性;缺乏动态细节变化;近景效果差 | 游戏或实时渲染中的远距离水面、低硬件需求场景 |
| 线性波形叠加方法 | 叠加多个波形(如 Gerstner 波)以形成复杂波形,通过调整参数模拟不同波浪形态。 | 效果可控性高;计算效率较高;基本实现动态效果 | 缺乏真实物理交互;高频细节不足;参数调节依赖经验 | 电影特效中的规则波浪、游戏中的中距离海面 |
| 基于统计频谱的参数化方法 | 基于海洋学统计模型(如 Phillips 频谱),通过FFT生成符合真实海浪频谱分布的波形。 | 高真实度;自然波形细节丰富;支持大范围海面模拟 | 计算复杂度较高 ;参数调节复杂 ;实时性受限 | 影视级海洋场景、航海模拟器、大规模开放水域 |
| 基于物理的数值方法 | 直接求解流体力学方程(Navier-Stokes),模拟水体与环境的物理交互。 | 物理精确度高 ;支持复杂交互 ;动态细节最丰富 | 计算成本极高;实时性差;实现复杂度高 | 科研仿真、高精度影视特效、流体动力学研究 |
| 波粒子方法 | 将波浪分解为携带能量和方向的粒子系统,模拟波的传播与交互。 | 支持局部细节控制;动态交互性好;适合复杂边界 | 大规模模拟效率低;粒子间连贯性难保持;能量守恒实现复杂 | 游戏中的近景波浪特效(如船只尾迹)、小型水域交互模拟 |
| 基于深度学习的方法 | 使用神经网络学习近似求解传统流体力学方程,可通过数据驱动的方式模拟复杂水体行为。 | 可生成超现实效果;数据驱动适配性强;潜在的高效推理可能 | 需要大量训练数据;物理一致性难保证;实时推理硬件要求高 | 风格化水体渲染、快速原型设计、结合传统方法的混合系统 |
补充说明:
- 实时性排序:凹凸贴图 > 波粒子 ≈ 波形叠加 > 参数化方法 > 深度学习 > 物理数值方法
- 真实度排序:物理数值方法 > 参数化方法 > 深度学习 ≈ 波形叠加 > 波粒子 > 凹凸贴图
- 趋势:工业界常采用混合方案(如:参数化方法+波粒子),学术界则聚焦物理数值方法与深度学习的结合。
- 硬件依赖性:深度学习与物理数值方法对 GPU/算力要求最高,凹凸贴图方法最轻量。
可视化分析及预测
使用 Zotero 对检索到的文献进行可视化分析:
可以在词云图中看到,除了传统的“Navier-Stokes”、“Particle methods”、“Lagrangian ISPH”等基于物理方法外,“Artificial neural networks”、“CNN”、“deep neural network”等基于神经网络方法的术语也开始更为频繁地出现。这或许是一个积极的信号,表明后续的研究中以 AI 助力的水体模拟方法将不断涌现。当然,未来也有可能会出现用于模拟不同细节层次水体表现(如波浪、涡流、湍流、泡沫、浮沫等)的新方法。同时,为了优化模拟效率,获得实时速率,有必要针对不同层次的表现采取差异化的模拟策略,使用可扩展且动态自适应的建模策略,合理分配计算资源。
0x0b Afterwords
虽然是用于应付学校论文写作课的作业(学校也不指望你真读懂个什么主要是把写论文软件和格式摸清,所以我至少会用 Zotero 了),粗浅地浏览各路大佬和 SIGGRAPH 的文章,不敢说有多大收获,但至少对这些出色的工作心向往之。有机会的话会单独开一篇 Issue 针对这个领域做一些研究。
感谢前人的综述,为我的作业提供了很大帮助。
0x0c Reference
[1] DU T. Deep Learning for Physics Simulation[C/OL]//ACM SIGGRAPH 2023 Courses. New York, NY, USA: Association for Computing Machinery, 2023: 1-25[2025-04-10]. https://dl.acm.org/doi/10.1145/3587423.3595518 . DOI: 10.1145/3587423.3595518 .
[2] DARLES E, CRESPIN B, GHAZANFARPOUR D, 等. A Survey of Ocean Simulation and Rendering Techniques in Computer Graphics[J/OL]. Computer Graphics Forum, 2011, 30(1): 43-60. DOI: 10.1111/j.1467-8659.2010.01828.x .
[3] IGLESIAS A. Computer Graphics Techniques for Realistic Modeling, Rendering, and Animation of Water. Part I: 1980-88[C]//Proceedings of the International Conference on Computational Science-Part II. Berlin, Heidelberg: Springer-Verlag, 2002: 181-190.
[4] IGLESIAS A. Computer Graphics Techniques for Realistic Modeling, Rendering and Animation of Water. Part II: 1989–1997[C/OL]//SLOOT P M A, HOEKSTRA A G, TAN C J K, 等. Computational Science — ICCS 2002. Berlin, Heidelberg: Springer, 2002: 191-200. DOI: 10.1007/3-540-46080-2_20 .
[5] BLINN J F. Simulation of wrinkled surfaces[J/OL]. SIGGRAPH Comput. Graph., 1978, 12(3): 286-292. DOI: 10.1145/965139.507101 .
[6] SCHACHTER B. Long crested wave models[J/OL]. Computer Graphics and Image Processing, 1980, 12(2): 187-201. DOI: 10.1016/0146-664X(80)90011-8 .
[7] MAX N L. Vectorized procedural models for natural terrain: Waves and islands in the sunset[C/OL]//Proceedings of the 8th annual conference on Computer graphics and interactive techniques. New York, NY, USA: Association for Computing Machinery, 1981: 317-324[2025-04-10]. https://dl.acm.org/doi/10.1145/800224.806820 . DOI: 10.1145/800224.806820 .
[8] PERLIN K. An image synthesizer[J/OL]. SIGGRAPH Comput. Graph., 1985, 19(3): 287-296. DOI: 10.1145/325165.325247 .
[9] FOURNIER A, REEVES W T. A simple model of ocean waves[C/OL]//Proceedings of the 13th annual conference on Computer graphics and interactive techniques. New York, NY, USA: Association for Computing Machinery, 1986: 75-84[2025-04-10]. https://dl.acm.org/doi/10.1145/15922.15894 . DOI: 10.1145/15922.15894 .
[10] MASTIN G A, WATTERBERG P A, MAREDA J F. Fourier Synthesis of Ocean Scenes[J/OL]. IEEE Computer Graphics and Applications, 1987, 7(3): 16-23. DOI: 10.1109/MCG.1987.276961 .
[11] TS’O P Y, BARSKY B A. Modeling and rendering waves: wave-tracing using beta-splines and reflective and refractive texture mapping.[J/OL]. ACM Trans. Graph., 1987, 6(3): 191-214. DOI: 10.1145/35068.35070 .
[12] KASS M, MILLER G. Rapid, stable fluid dynamics for computer graphics[J/OL]. SIGGRAPH Comput. Graph., 1990, 24(4): 49-57. DOI: 10.1145/97880.97884 .
[13] STAM J, FIUME E. Depicting fire and other gaseous phenomena using diffusion processes[C/OL]//Proceedings of the 22nd annual conference on Computer graphics and interactive techniques. New York, NY, USA: Association for Computing Machinery, 1995: 129-136[2025-04-10]. https://dl.acm.org/doi/10.1145/218380.218430 . DOI: 10.1145/218380.218430 .
[14] O’BRIEN J F, HODGINS J K. Dynamic Simulation of Splashing Fluids[A/OL]. (2023-02-13)[2025-04-11]. http://arxiv.org/abs/2302.06087 . DOI: 10.1109/CA.1995.393532 .
[15] THON S, DISCHLER J M, GHAZANFARPOUR D. Ocean waves synthesis using a spectrum-based turbulence function[C/OL]//Proceedings Computer Graphics International 2000. 2000: 65-72[2025-04-11]. https://ieeexplore.ieee.org/document/852321 . DOI: 10.1109/CGI.2000.852321 .
[16] YUKSEL C, HOUSE D H, KEYSER J. Wave particles[C/OL]//ACM SIGGRAPH 2007 papers. New York, NY, USA: Association for Computing Machinery, 2007: 99-es[2025-04-10]. https://dl.acm.org/doi/10.1145/1275808.1276501 . DOI: 10.1145/1275808.1276501 .
[17] PEACHEY D R. Modeling waves and surf[C/OL]//Proceedings of the 13th annual conference on Computer graphics and interactive techniques. New York, NY, USA: Association for Computing Machinery, 1986: 65-74[2025-04-12]. https://dl.acm.org/doi/10.1145/15922.15893 . DOI: 10.1145/15922.15893 .
[18] PIERSON JR. W J, MOSKOWITZ L. A proposed spectral form for fully developed wind seas based on the similarity theory of S. A. Kitaigorodskii[J/OL]. Journal of Geophysical Research (1896-1977), 1964, 69(24): 5181-5190. DOI: 10.1029/JZ069i024p05181 .
[19] HASSELMANN D E, DUNCKEL M, EWING J A. Directional Wave Spectra Observed during JONSWAP 1973[J/OL]. 1980[2025-04-12]. https://journals.ametsoc.org/view/journals/phoc/10/8/1520-0485_1980_010_1264_dwsodj_2_0_co_2.xml .
[20] PREMO"E S, ASHIKHMIN M. Rendering Natural Waters[C]//Proceedings of the 8th Pacific Conference on Computer Graphics and Applications. USA: IEEE Computer Society, 2000: 23.
[21] JESCHKE S, WOJTAN C. Water wave packets[J/OL]. ACM Trans. Graph., 2017, 36(4): 103:1-103:12. DOI: 10.1145/3072959.3073678 .
[22] JESCHKE S, SKŘIVAN T, MÜLLER-FISCHER M, 等. Water surface wavelets[J/OL]. ACM Trans. Graph., 2018, 37(4): 94:1-94:13. DOI: 10.1145/3197517.3201336 .
[23] SHARMA P, CHUNG W T, AKOUSH B, 等. A Review of Physics-Informed Machine Learning in Fluid Mechanics[J/OL]. Energies, 2023, 16(5): 2343. DOI: 10.3390/en16052343 .
[24] LINO M, FOTIADIS S, BHARATH A A, 等. Current and emerging deep-learning methods for the simulation of fluid dynamics[J/OL]. Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences, 2023, 479(2275): 20230058. DOI: 10.1098/rspa.2023.0058 .
[25] LADICKÝ L, JEONG S, SOLENTHALER B, 等. Data-driven fluid simulations using regression forests[J/OL]. ACM Trans. Graph., 2015, 34(6): 199:1-199:9. DOI: 10.1145/2816795.2818129 .
[26] TOMPSON J, SCHLACHTER K, SPRECHMANN P, 等. Accelerating eulerian fluid simulation with convolutional networks[C]//Proceedings of the 34th International Conference on Machine Learning - Volume 70. Sydney, NSW, Australia: JMLR.org, 2017: 3424-3433.
[27] XIAO X, ZHOU Y, WANG H, 等. A Novel CNN-Based Poisson Solver for Fluid Simulation[J/OL]. IEEE Transactions on Visualization and Computer Graphics, 2020, 26(3): 1454-1465. DOI: 10.1109/TVCG.2018.2873375 .
[28] ZHANG N, YAN S, MA Q, 等. A CNN-supported Lagrangian ISPH model for free surface flow[J/OL]. Applied Ocean Research, 2023, 136: 103587. DOI: 10.1016/j.apor.2023.103587 .
[29] PRANTL L, BONEV B, THUEREY N. Generating Liquid Simulations with Deformation-aware Neural Networks[A/OL]. arXiv, 2019[2025-04-11]. http://arxiv.org/abs/1704.07854 . DOI: 10.48550/arXiv.1704.07854 .
[30] WIEWEL S, BECHER M, THUEREY N. Latent-space Physics: Towards Learning the Temporal Evolution of Fluid Flow[A/OL]. arXiv, 2019[2025-04-11]. http://arxiv.org/abs/1802.10123 . DOI: 10.48550/arXiv.1802.10123 .
[31] ZHANG Y, BAN X, DU F, 等. FluidsNet: End-to-end learning for Lagrangian fluid simulation[J/OL]. Expert Systems with Applications, 2020, 152: 113410. DOI: 10.1016/j.eswa.2020.113410 .
[32] SANCHEZ-GONZALEZ A, GODWIN J, PFAFF T, 等. Learning to Simulate Complex Physics with Graph Networks[C/OL]//Proceedings of the 37th International Conference on Machine Learning. PMLR, 2020: 8459-8468[2025-04-13]. https://proceedings.mlr.press/v119/sanchez-gonzalez20a.html .
[33] LI Z, FARIMANI A B. Graph neural network-accelerated Lagrangian fluid simulation[J/OL]. Computers & Graphics, 2022, 103: 201-211. DOI: 10.1016/j.cag.2022.02.004 .
[34]ZHANG N, YAN S, MA Q, 等. A hybrid method combining ISPH with graph neural network for simulating free-surface flows[J/OL]. Computer Physics Communications, 2024, 301: 109220. DOI: 10.1016/j.cpc.2024.109220 .
[35] HIGAKI T, TANABE Y, HASHIMOTO H, 等. Step-by-step enhancement of a graph neural network-based surrogate model for Lagrangian fluid simulations with flexible time step sizes[J/OL]. Applied Ocean Research, 2025, 154: 104424. DOI: 10.1016/j.apor.2025.104424 .
[36] SHU D, LI Z, BARATI FARIMANI A. A physics-informed diffusion model for high-fidelity flow field reconstruction[J/OL]. Journal of Computational Physics, 2023, 478: 111972. DOI: 10.1016/j.jcp.2023.111972 .
[37] TAKAHASHI T, FUJII H, KUNIMATSU A, 等. Realistic Animation of Fluid with Splash and Foam[J/OL]. [2025][2025-04-13]. https://onlinelibrary.wiley.com/doi/10.1111/1467-8659.00686 .
[38] GREENWOOD S T, HOUSE D H. Better with bubbles: enhancing the visual realism of simulated fluid[C/OL]//Proceedings of the 2004 ACM SIGGRAPH/Eurographics symposium on Computer animation - SCA ’04. Grenoble, France: ACM Press, 2004: 287[2025-04-13]. http://portal.acm.org/citation.cfm?doid=1028523.1028562 . DOI: 10.1145/1028523.1028562 .
[39] THÜREY N, RÜDE U, STAMMINGER M. Animation of Open Water Phenomena with coupled Shallow Water and Free Surface Simulations[J].
[40] THÜREY N, SADLO F, SCHIRM S, 等. Real-time Simulations of Bubbles and Foam within a Shallow Water Framework[J].
[41] LUO M, KHAYYER A, LIN P. Particle methods in ocean and coastal engineering[J/OL]. Applied Ocean Research, 2021, 114: 102734. DOI: 10.1016/j.apor.2021.102734 .
[42] FELDMAN J, BONET J. Dynamic refinement and boundary contact forces in SPH with applications in fluid flow problems[J/OL]. International Journal for Numerical Methods in Engineering, 2007, 72(3): 295-324. DOI: 10.1002/nme.2010 .
[43] WINCHENBACH R, KOLB A. Optimized Refinement for Spatially Adaptive SPH[J/OL]. ACM Trans. Graph., 2021, 40(1): 8:1-8:15. DOI: 10.1145/3363555 .