波浪粒子外文翻译资料

 2022-08-10 15:59:06

英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料


波浪粒子

摘 要

本文提出了一种实时模拟流体表面波及其与浮体相互作用的新方法。该方法基于波粒子的新概念,为波浪模拟提供了一种简单、快速、无条件稳定的方法。我们展示了如何使用图形硬件将波粒子转换为高度场表面,高度场表面水平弯曲以考虑局部波诱导流。该方法适用于大多数不涉及显著全局流动的流体模拟情况。它被证明在约束区域(包括边界外的波反射)和无约束区域(如海洋表面)中工作良好。与漂浮物体的相互作用很容易被整合,包括物体上的波浪力和物体运动产生的波浪。理论基础和实现细节,实验表明,我们实现了似是而非的现实主义。时序研究表明,该方法具有可扩展性,可以实时模拟波与数百个目标的相互作用。

-----------------------------------------------------------------------------------------------------------------

第1章 绪论

当今的水模拟技术是高度真实的,但需要大量的离线计算,而在实时实现类似的真实性仍然是一个开放的挑战。对于实时图形,我们必须采用具有可预测的低质量结果的特别方法。此外,模拟水与浮体之间的相互作用对于在虚拟环境中获得真实感是必不可少的,但是物理上精确地模拟固体与流体的相互作用对于离线计算来说是非常昂贵的。虽然离线图形中使用了许多近似方法,但它们对于实时图形的使用来说过于复杂。

我们将证明,在物理原理和实验验证的基础上,一类视觉上复杂的水现象可以通过一种算法公式来建模,该公式在概念上简单且计算成本低。

在我们的实时方法中,我们关注不可压缩的、全局无流动的流体与漂浮物体相互作用的大量物体的表面行为。我们引入了波粒子的概念来跟踪波的运动,并对流体表面的变形进行了描述。流体表面本身由高度场表示,高度场由局部流动引起的水平翘曲扩展。使用图形硬件,我们将波粒子转换为扩展高度场,用于渲染和计算浮动对象上的力。为了完成流体-物体相互作用的表示,利用浮体的运动来产生表面波。这种方法是无条件稳定的,并且可以很容易地支持有界和无界配置。

图1是通过捕获实时模拟中的帧来创建的,该模拟旨在演示我们方法的所有方面。在模拟中,船是一个动态单元,由操纵杆控制。船的前进和转向是由于作用在旋转螺旋桨和舵上的相互作用力。由船的运动产生的真实波浪反射出水箱的侧面,进而影响船的运动。

图1:从我们的实时模拟系统捕获的样本帧(大约100000个波粒子)

在下一节中,我们将简要概述先前的工作。第3节描述了我们的波浪模拟系统,第4节解释了与漂浮物体的相互作用。实施细节见第5节。最后几节在第6节介绍我们的结果,第7节讨论,第8节总结。

-----------------------------------------------------------------------------------------------------------------

第2章 研究历史

在这一节中,我们将简要地概述以前在计算机图形学中关于水模拟和对象交互技术的一些研究。对于刚体模拟的概述,我们推荐 [Guendelman et al. 2003]。

早期的水模拟研究主要集中在用傅立叶综合法模拟水的表面 [Mastin et al. 1987].或参数表示[Schachter 1980; Fournier and Reeves 1986; Peachey 1986; Tsrsquo;o and Barsky 1987]. 此外,[Schneider and Westermann 2001]使用图形硬件使用噪声函数实时模拟波浪[Perlin and Hoffert 1989]。关于海浪产生的总结,我们建议[Tessendorf 2001]。[Tessendorf 2004]还展示了如何从水中物体产生反射波。这些方法虽然取得了很好的效果,但不适用于双向物体-流体相互作用的动力学模拟。

之后的研究是利用高度场研究浅水方程。[Kass and Miller 1990]使用有限差分法求解动态高度场上的简化二维浅水方程。 [Chen and da Vitoria Lobo 1995]使用了由Navier-Stokes方程的二维解产生的压力定义高度场。他们提出了一种处理双向对象到流体耦合的方法;然而,他们的实现仅限于单向耦合。[Orsquo;Brien and Hodgins 1995]添加了粒子系统来模拟飞溅液体,但高度场模拟仍然基于二维NavierStokes解。 [Baxter et al. 2004]用于交互式水彩画的高度场流体。[Layton and van de Panne 2002]对浅水方程使用隐式半拉格朗日积分。

粒子系统[Reeves 1983]已在流体模拟中以多种方式使用:粘性弹簧粒子表示[Miller and Pearce 1989],熔融固体的分子动力学 [Terzopoulos et al. 1989],光滑粒子流体力学[Muuml;ller et al. 2003],和运动粒子半隐式方法[Premoze et al. 2003]。然而,这些拉格朗日方法计算量大,需要大量相互作用的粒子才能得到高质量模型。令人注意的是混合粒子网格方法[Selle et al. 2005; Zhu and Bridson 2005]致力于解决这个问题。

在基于欧拉网格的Navier-Stokes方程的求解方面仍有大量工作要做[Foster and Metaxas 1997b; Stam 1999; Foster and Fedkiw 2001]。近年来提高质量和减少计算时间的努力包括:八叉树结构[Losasso et al. 2004],RLE实施[Houston et al. 2006]和四面体网格[Feldman et al.2005;Klingner et al.2006]。有许多研究人员以边界条件的形式使用物体和流体之间的单向耦合 [Foster and Metaxas 1996; Foster and Metaxas 1997a; Fedkiw et al. 2001; Enright et al. 2002;Fedkiw 2002],还有一些研究人员提出了双向交互作用的方法[Takashi et al. 2002; Peskin 2002; Takashi et al. 2003; Genevaux et al. 2003; Carlson et al. 2004; Guendelman et al. 2005; Losasso et al. 2006; Klingner et al. 2006]。最近[Irving et al. 2006]提出了一种使用基于Navier-Stokes的流体解算器和高度场公式相结合的对象-流体耦合模拟大型水体的技术,以及[Losasso et al. 2006]开发了多个相互作用液体的表示方法。尽管它们的计算结果是高质量的,但所有这些方法都只适用于离线计算。

近来实时流的研究结果中存在令人感兴趣的地方。[Angelidis and Neyret 2005] 使用涡度方案模拟和渲染混乱的烟雾。[Kim et al. 2006]使用GPU计算任意模型上的浮力,实时实现流体与物体之间的单向相互作用(约50个物体为16 fps)。 [Treuille et al. 2006]是特别成功的,但它有很大的预计算需求,并且只适合于模拟先前“训练”过的场景。与本文描述的最接近的研究是[Jensen and Goliaacute;s 2001]。他们使用基于网格的欧拉方法来模拟深海波浪,包括流体对物体的影响,但是流体的数值差别和人工阻尼的加入影响了他们对物体效应的计算,所以我们期望能有一种对参数调整具有高灵敏度的计算方法。于是我们的方法可以处理深海和受限环境,并且有一个更简单的计算框架。

-----------------------------------------------------------------------------------------------------------------

第3章 波模拟

我们从一个基本的高度场表示开始解释我们的方法,然后在这一节的末尾引入扩展的高度场和物理校正的波浪模拟。

基本高度场定义为水平位置x=(x,y)上液位z的连续函数。外力和与物体的相互作用在水面上产生偏差,这些偏差转化为表面波,其传播速度为v,其满足波浪方程

part;2z/part;x2 part;2z/part;y2= 1/upsilon;2times;part;2z/part;t2 (1)

我们首先将高度场表示为

z(X,t) = z0 eta;z(x,t) (2)

基座高度z0和偏差场eta;z之和;然后将偏差场表示为

eta;z(X,t) =sum; i Di(x,t) (3)

一组局部偏差函数之和,每一个函数随波的速度v而移动。

我们方法的核心是将每个局部偏差函数与我们所称的波粒子联系起来,波粒子随波的速度运动。我们可以将粒子i对应的局部偏差函数表示为

Di(X,t) = aiWi(xminus;xi(t)) (4)

式中,ai是振幅,Wi是一个恒定波形函数,Xi(t)是粒子在时间t的位置。每个偏差函数相对于其波粒子是静止的,波粒子的位置和传播方向,以及许多其他波粒子特性,定义其局部偏差函数的形状和行为。这种方法将波动模拟的动力学简化为跟踪在平面上运动的粒子系统。

3.1波浪构造

从波粒子中构造波需要找到波形函数,给出合理的波形并满足方程1。它还要求将波形成的波阵面能在水面上同步移动。

在二维中,波形函数的自然选择是正弦,这是一个与大多数水面波相似垂直偏差形状,我们用公式

Wi(u) =1/2(cos(2pi;u/li ) 1)Pi;(u/li) (5)

其中li是波长,prod;是矩形函数1。除了形状和满足方程式1的事实外,该特定波形函数也是一个不错的选择,因为:

(1)它在有限范围内是非零的,端点处的一阶导数为零(图2a)。

(2)通过正负振幅局部偏差函数的交替间隔,很容易产生固定波长的连续波(图2b)。

图2: (a)波形函数的形状, (b)由局部偏差函数构造的连续波

在三维空间中,水面波以连续波前的形式出现。我们没有将局部偏差函数表示成一个完整的波阵面,而是通过将局部偏差函数并排放置(如图3所示)来建模波阵面,并混合它们的形状,使它们仅在有限的区域上是非零的。因此,粒子i的局部偏差函数是

Di(x,t) = aiWi(u) Bi(v) (6)

式中,u =circ; ui·(xminus;xi)和v = circ;uperp;i·(xminus;xi)属于粒子的局部坐标,circ; ui是传播方向,而circ;uperp;i是垂直于传播的水平方向,Bi是混合函数。请注意,混合函数的选择是任意的:任何具有有限支撑且其转换和为1的函数都是可接受的,从而产生仅在有限四边形区域上非零的局部偏差函数。

图3:(a)单个波粒子(b)这些波粒子形成的波前

3.2波粒子

波粒子可以很容易地实现使用上述广义公式解释。然而,在这里,我们引入一个方程6的近似值,使用带径向支承的偏差函数。这种径向公式允许我们在当前可用的图形硬件上有效地实现波粒子。首先,注意等式5可以用作等式6中的混合函数Bi。与方程6中的四边形定义Di不同,我们使用径向定义来表示我们的局部偏差函数

Di(x,t) =ai/2(cos(pi;|xminus;xi(t)|/ri) 1)Pi;(|xminus;xi(t)|/2ri)(7)

其中ri是波粒子的半径。这种径向定义在最终波阵面形状中引入了一些误差,误差的大小取决于两个相邻粒子之间的距离。实验发现,当距离小于波粒半径的一半时,波形与理想波形的最大偏差小于波峰振幅的3%,而波峰方向的最大偏差小于0.1%。

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[238433],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。