文摘

模拟水流动画是一个重要的和具有挑战性的主题在计算机图形学中。计算流体动力学的不断发展和计算机图形学中,更多的有效的模拟方法已经开发出来,和流体动画仿真发展迅速。为了获得真实的流动动画,关键的一个方面是模拟流运动。基于二维n - s方程,建立一个数学模型来解决边界条件所要求的物理流场的水。介绍了坐标变换公式将不规则的物理区域转换成常规的平方计算区域,然后,自由化的具体表达式的n - s方程,连续性方程、压力泊松方程,和无量纲的边界条件。使用动画软件序列图形和图像的各种控制和直接操作的相关指令,通过计算机技术来模拟流动的动画、基于流体模拟方法的稳定性和仿真效率,使现实的动画。结果表明,FluidsNet具有相当大的性能加速大型场景动画仿真的基础上确保预测的合理性,和水的运动波是现实的。成功的应用计算机模拟水流。

1。介绍

计算流体力学,计算机图形学中,学科的不断发展,相互交叉,导致一个更有效的模拟方法,其中,该模型基于计算机模拟的流体动画迅速发展,不仅成为该领域的一个研究热点,也成为当前和未来的科学解决方案和工程是一个重要的方向发展的计算机和可视化。目前,研究流动画仿真取得了很多成就。有两个领域的代表性研究:首先是计算流体力学,主要研究流体运动的科学解决方案。n - s方程及其简化形式用于准确地解决和描述流体运动,以揭示流体运动的记忆规则在人类领域并解决工程计算问题。大量的高精度、高效数值方法已经开发出来,取得了丰富的成果1]。第二,流体模拟在计算机图形学领域关注流体现象的视觉效果。利用计算机图形学的原理和方法或一般图形,流场数据转换为图形和图像,以直观的形式呈现,以获得流体运动的生动逼真的视觉效果。它也被应用于市场需求,比如电影特效和视频游戏,和许多成就已经在这个方向2]。研究基于物理模型的流体动画仿真需要计算流体动力学的交叉融合和计算机图形学中,可以分为两种类型根据不同的研究背景和内容。一个是利用计算流体动力学结果和采取适当的模型和方法,开发流场表示方法和绘图技术所需的相应的流体动画模拟从计算机图形学的角度。研究工作主要集中在计算机图形学在流体动画仿真3]。另一种是基于计算流体动力学,根据计算机硬件和计算机图形学的发展水平,CFD模型的发展,和方法适用于流体动画模拟,利用计算机图形学的方法来完成流体动画仿真,不仅科学解决方案也获得生动、真实的流体动画。

液体,液体的动态仿真需求,或气体运动的虚拟现实系统逐渐增加,和运动效果是非常有用的在模拟和训练系统中,计算机艺术、广告、和网络虚拟环境(4]。他们可以大大提高虚拟现实系统。水流的运动和凹坑的特点,不确定性,不规则,和运动变化,这变化是极其复杂和混乱,受周围环境的影响,因此正确地模拟其运动是必要的。关键是要建立合适的流模型和使用正确的渲染算法。从计算机图形学的角度来看,动画中的场景应该合理为了使它吸引人5]。接近真实的场景,这就要求动画中的场景符合真实世界的物理定律。因此,这是一个自然的想法的元素动画场景移动物理定律的约束内,让它看起来是被迫的。

n - s方程,流体力学具有重要意义,是非线性偏微分方程n - s方程的数值解问题。Hoult和Kovtun数值模拟不可压缩n - s方程的SUPG(简化逆风Petrov-Galerkin)方法。基于函数空间的粗和细网格,稳态和不可压缩n - s方程转化为线性问题得到解决(6]。金等人提出一个稳定公式求解可压缩n - s方程线性结合压力梯度投影与间断有限元方法。Taylor-Galerkin方法用于离散avadavat LS函数的方程。P1P1分裂有限元法求解n - s方程,基于结构和不可压缩问题模拟网格(7]。基于六面体网格,Gassner等人采用插值法构造四边形面网格元素对象的面为曲面网格元素,用于解决三维欧拉方程和可压缩n - s方程。数值解也由三维球体绕流和绕流旋转流线型的身体。的高精度特征DG方法验证(8]。Danchin和木栅证明斯托克斯纳维边界条件下不可压缩n - s方程的滑动相关条件和收敛于解n - s方程能量空间中无滑移边界条件。在线性和非线性系统中,弱和强解一致有界对滑移系数(9]。Seregin提出了pressure-robust混合间断伽辽金方法(pressure-robust zed间断伽辽金方法)和稳态n - s方程证明了速度误差估计是独立的压力。此外,它还显示速度和压力的估计是最优的,和数值例子表明,该方法是全局最优收敛(10]。

2。计算机动画制作方法

2.1。水流动画的生产

可编程计算机配备阴极射线管显示器和钢笔或喷墨绘图机,绘图和逻辑处理相结合,和图片在电脑上可以定义和操纵。计算机已广泛应用于各种设计图片生产,和大量的动画创作者已经开始转向这种新的工作方式,极大地促进了计算机动画的发展这一新的行业。计算机动画是有别于传统意义上的动画。就效果而言,前者不仅可以实现所有后者的影响也产生视觉效果,后者不能实现,甚至不存在的东西在虚拟现实或不能被人眼(11,12]。构建物理模型来描述元素的运动在一个移动的场景。然后,获得相应的物理方程的数值解,得到场景中每个元素的状态在每个时间步,在每个时间步,然后画出场景。这是基于物理模型的动画的基本思想。与基于物理的动画方法,生产者不需要像传统的关键帧的方法。设计指定的每个元素在动画场景直接在每个时间步,但只有每个元素的初始状态。美国其余的帧被解物理方程自动生成。一个人不懂艺术创作也可以使用动画工具基于物理模型来创建一个动画的艺术魅力。从计算流体动力学的角度,得出流体动力学方程的数值解的形式大量离散的数据,如高度场、速度场和压力场。很难看到数据的分布规律。 These data fields need to be visualized. In a three-dimensional space, this data is graphed using the methods of computer graphics adding light and shadow to make the figure more pleasing to the eye or more distinctive. It is also a natural need. If you want to consider the changes of the data field in each time step, it is a natural idea to animate the corresponding images. We want to integrate computer graphics and numerical analysis to create computational animation as a tool for both engineering and art. On the one hand, improving the accuracy of solution can make animation used in engineering, and on the other hand, increasing the sense of reality of computer graphics can make animation used in artistic creation.

2.2。计算机动画制作常见的技术

从生产的角度来看,不同的传统动画制作的框架使用电影或录像记录,电脑动画是动画采用动画制作软件直接控制的图形和图像序列和运行相关的指令。它可以分为人机动画、机械动画,动画和编程;不同类型对应不同的生产方法13]。人机动画技术是使用人工绘制动画原则或人工动画模型,扫描或拍摄到电脑后通过计算机或操作控制进一步处理,然后通过电脑合成和广播。机械动画技术指的是原始的创建动画和模型建筑最终动作设计、声音、合成、回放和输出,都是在电脑完成。实践证明,所有类型的动画可以通过使用电脑完成。

编程动画生产指的是动画完全通过编程实现,而不是通过绘画,然后电脑合成回放。一个典型的例子是计算机动画分形。分形图像的组合应用数学知识和编程。形状的分形图生成的实现通过自动改变程序中的变量值。一些编程工具依赖动画软件,也就是说,动画软件和一些编程模块编写程序和直接放入相应的动画软件来运行。一些使用专门的图形开发工具,如两个常用工具下的柳树平台开发3 d图形应用程序:OpenGL和举;这两个工具生成的动画往往有惊人,惊人的效果。本文使用这两个工具之一,水流OpenGL。

2.3。OpenGL工作机制和基本工作流程

OpenGL的API(应用程序接口),也就是说,3 d图形和模型库。它有无与伦比的优势交互式3 d图形建模和编程方面的能力。OpenGL提供对象描述、旋转、平移、缩放、材料、照明、质地,互动,和图形性能命令,基本上覆盖的发展需要方方面面的二维和三维图形程序。OpenGL硬件是独立的,可以在不同的硬件平台上实现。例如,使用AutoCAD或3 d Studio Max软件包也可以方便的建立三维几何模型,但是很难移植和控制。如果这些模型转换为OpenGL程序,你可以控制这些模型:使CAD、3 d动画、虚拟仿真、等等。因为它与硬件系统,我们可以很容易地移植应用程序到另一个操作系统,它可以调用3 d图形处理函数直接硬件,所以处理速度非常快。

OpenGL作为客户端服务器。客户端向服务器发送OpenGL命令,这些命令和服务器负责解释。在大多数情况下,客户机和服务器运行在同一台机器上(14]。当然,它也可以用于网络环境,所以OpenGL网络透明性,在Win32图形设备接口来封装在动态连接库GD132图形函数库。DLL, OpenGL图形库也封装在一个叫做openg132.dll动态连接库。调用OpenGL函数从客户机应用程序第一次被称为出版,后由Openg132处理。DLL发送到服务器,然后通过WinSRV进一步处理。发送到Win32 DLL设备驱动程序接口,最后到视频显示驱动程序处理图形命令。整个过程如图1

在OpenGL工作的基本过程,OpenGL生成帧显示在处理几何顶点数据和图像像素数据通过一系列操作(15]。基本的工作流程如图2

所有数据,包括几何顶点数据和图像像素数据,首先存储在一个显示列表,然后加工。然后,它处理的评估阶段管道和提供了一个有效的方法来近似几何曲线的绘制和表面通过评估多项式输入数据。在下一阶段,每个顶点的操作结合原语,顶点改变和照明,原语修剪以适应窗口大小。下一步是巴氏灭菌法,包括几何和物理映射。几何操作是将像素转换成二维图像。物理操作等信息计算图像中每个点的颜色和深度。因此,巴氏灭菌的一个像素由两部分操作,确定哪些方块的整数网格坐标被形象的窗口。第二部分计算每一个方块的颜色和深度值。在这个过程中,一系列的帧缓存地址和相关值生成通过二维几何和物理操作的描述。一片一片碎片处理,处理结果存储为像素帧缓存中。 The operations include conditionally updating the frame cache based on input and previously stored - - - - - -值、混合输入像素的颜色与存储颜色,掩蔽和其他对像素值逻辑操作。像素数据输入数据时,这些数据包括像素,图纸和图片将跳过上述处理“解决”,被处理的像素值在像素操作阶段。这个阶段的处理结果是存储在内存结构的光栅操作或巴氏杀菌与几何数据相同的形式,和结果集成到帧缓存。

2.4。数据驱动的流体动画

计算流体动画的数量取决于网格的数量或粒子。与这个数的增加,计算量会逐渐增加,和对计算资源的需求也会相应增加。当模拟对象扩展到大规模的水体,如湖泊和海洋,每一帧的计算时间更新将在几分钟内迅速增加来衡量,这是远远超出单帧计算次实时仿真的要求。因此,传统的基于物理方法不适合大型水体的实时仿真。理论上,物理系统可以重建,估计通过收集物理信息数据,但考虑到重建和分析的视频在计算机视觉领域仍然是非常困难的,我们选择获得廉价、灵活、可靠的仿真数据来驱动。n - s方程使学习和预测直接从复杂的或未知的物理模型实验与潜在的因果模型。在流体模拟中,通常有超过5000流体粒子,每个粒子相互独立和相关计算。因此,尽管数据驱动的流体模拟还需要通过物理学习流体力学的学习,随着人工智能技术的发展,机器学习算法在计算机视觉领域,和许多数据驱动方法基于深度学习也出现在计算机动画仿真领域。

3所示。二维n - s方程的数学模型

3.1。数学模型

根据牛顿第二定律和假设,以下线性化的数学模型建立了粘性不可压缩n - s方程(16]: 在哪里 的流体的速度组件吗 方向,分别 表示时间, 表示压力和流体的密度,分别 , , 代表了旋转角度、角速度和角加速度的倾斜运动激发,分别。不可压缩流体的连续性方程如下:

速度场解决了利用自由n - s方程必须满足连续性方程,但如果速度场不满足连续性方程,解决了原来的压力场需要修改。因此,泊松方程,可以正确的压力场,应该在这里介绍。 在哪里 拉普拉斯算子。偏导数的方程是通过方程(1)和(2)对 ,分别,然后添加和替换到连续性方程作为约束条件。

3.2。边界条件

解决水的物理流场时,边界条件组成的自由液面边界条件和固液表面边界条件。自由表面边界移动边界,随着时间的变化。自由液面,液体必须满足运动学和动力学边界条件。由于自由表面总是满足连续表面的条件;也就是说,流体粒子在液体表面总是存在于液体表面没有碎波,自由表面的运动边界条件可以表示如下(17]:

如果不考虑表面张力和压力的变化对空气的自由表面引起的液面变化也忽略了,然后在自由表面动态边界条件可以表示如下(18]: 列表示压力的自由液面。

由于液体是密不透风的墙,无滑移边界条件的两侧和底部坦克,和压力梯度固液表面的边界条件可以表示如下:

3.3。无量纲坐标变换和方程

介绍了坐标变换公式将不规则的物理区域转换成常规的平方计算区域,然后,线性化的具体表达式的n - s方程,连续性方程、压力泊松方程,和无量纲的边界条件。在液体晃动,整个地区的形状是不断变化的,和自由表面波瞬间变化的功能。地图坐标变换用于不规则的流体区域平方计算区域,和坐标变换函数如下19]:

左边界可以被映射到 和正确的边界 上面给出的坐标变换公式。我们线性化navier - stokes方程无因次形式。 在抑制流体的特征速度。使用上面的坐标变换和无量纲格式,线性化n - s方程的无量纲形式可以写成:

连续性方程的无量纲形式可以写成:

压力方程的无量纲形式可以写成:

系数 区域坐标变换生成的系数,表示如下:

4所示。数据驱动的大型场景仿真加速度

流体模拟方法主要基于数据驱动使用流体仿真数据作为数据集。仿真方法是将模拟域划分为均匀的二维子空间,然后在每个节点上执行物理计算(20.]。高质量的流体模拟与挑战性的细节是通过学习从不同层次的功能使用不同的网络结构。FluidsNet,此外,可以使用小场景训练数据集是一个很好的模型来预测流体动画的相同的大场景;这不仅可以解决传统模拟方法对流体动画的大场景模拟的速度大内存消耗,还可以解决的问题的数据驱动算法通常需要很多大场景模型样本学习问题。

4.1。FluidsNet网络结构

FluidsNet如图的总体结构3。FluidsNet设计网络与不同结构不同层次的特性。网络需要SPH流体动画仿真数据作为输入,并计算出地方特色为液体状态(21]。然后,模拟场景分为统一的3 d元音通过背景网格。元音学习层用于生成四维张量元音特性,用于学习全球的特性。最后,所有流体的速度场预测和输出状态基本结束后,当地和全球特征的总和。

4.2。培训过程

所有的数据集都以同样的方式训练。张量流框架和亚当优化器是用于实现FluidsNet。最初的学习速率为0.003,下降到1中间的训练迭代。完整的培训细节如表所示1

数据集1包含25个动画模拟,每个非牛顿流体动画模拟包含大约2000帧的数据。培训结果如图4。一般的非牛顿流体的粘度大于牛顿流体,很少有飞溅等现象在动画模拟。FluidsNet主要学习流过程中粘度变化和满足表面皱纹和其他现象产生的固体,因此所有仿真动画帧直接作为原始数据,没有拦截。

数据集2和3包含38个动画模拟,每个包含大约1500帧的数据。自牛顿流体动画仿真通常移动平稳,弱流动特性之前300帧1500帧后,和牛顿流体旨在训练FluidsNet场景高复杂性和丰富的流体细节,300年到1500年为每个动画帧被培训。因为连续帧之间的价值差异小,原始数据集采样平均约1帧在每10帧进行训练和测试。80%的数据集用于培训和剩下的20%进行测试。训练的迭代的数量约为2.4 K,同时和8个样本可以批量处理。充分利用数据集时,随机打乱,继续下一轮的培训。

5说明了培训FluidsNet迭代过程。可以观察到的错误FluidsNet在训练过程中减少并最终收敛于一个稳定的解决方案为每个数据集训练。在数据集2中,最后一个错误是略高于在其他数据集,由于面积较大的流固耦合碰撞和更强的水波和夹板在这个场景,从而导致更高的动画模拟的复杂性。同时,数据集2还需要更多的训练迭代。

4.3。速度场的预测

速度场的预测基于全局特征的必要性评估。图6删除后显示了该网络模型迭代变化的全球特性。输出速度场的数值预测的网络模型是反映在颜色。速度是0时,流体粒子显示为蓝色。速度场的价值越大,白色的液体颗粒出现。初始数据集的随机帧的预测结果未经训练的网络模型表明,输出值有很强的随机性。随着训练迭代的推移,没有全球网络模型的特性往往预测所有流体粒子的速度场是相同的值大约0,而模型能正确地预测相应的不同粒子流体的速度场。

尽管FluidsNet略低于预测的速度场模拟参考价值的错误积累,误差在可接受的合理的范围内,和FluidsNet可以合理地预测非牛顿流体。虽然FluidsNet具有良好的精度与误差积累和稳定,它可以合理地预测各种流体的速度场模拟场景与随机的初始状态。此外,FluidsNet可以使用小场景的数据集训练好的模型预测速度场同样的大场景。该模型解决问题速度慢和大内存消耗大场景模拟传统流体动画模拟方法。模型还可以解决这个问题,其他数据驱动算法需要大量的大场景模型学习的数据集。FluidsNet具有相当大的性能加速大型场景动画仿真的基础上确保预测的合理性。

4.4。时间消耗

模型的主要优势之一就是它的预测速度快于解决方案的速度流体动画模拟方法。图7测试流体动画模拟的计算效率解算器。相对应的具体数值实验结果表明流体粒子和固体样品的总价值粒子,和时间消耗的平均数据实验的所有帧动画。每组实验跑50双向迭代,包括所有通信,然后为每个迭代计算的平均时间。可以看到,该模型显示了更好的性能和一个非常高的加速比。模型可以处理多组数据分别在同一时间。因此,该模型可以有效地应用于多个输出速度场在同一时间。

FluidsNet大大减少了所需的计算时间输出速度场。当流体粒子在仿真场景的数量大、水量大,FluidsNet的加速度性能会更好的体现。此外,当非牛顿流体的力学模型更加复杂,FluidsNet只是相关的预测时间现场,现场的流体粒子数量大小和无关模型的复杂性,所以它可以达到一个非常高的速度比。虽然预测网络的一部分,需要一些时间,FluidsNet仍有足够的性能优势考虑批量运行多个样本的能力。

5。结论

流体动画图形有一个广泛的应用于3 d动画、游戏、计算机辅助设计等领域。由于现实世界的复杂性和流体模拟的计算复杂度本身,如何更准确地模拟复杂流动现象,同时保持稳定的仿真和提高仿真效率一直是最重要的问题领域的流体动画。本文建立了基于二维n - s方程数学模型来解决所需要的边界条件的物理流场的水。基于数据驱动的流体模拟方法的稳定性和仿真效率大时间步长下,设计的数据驱动的方法是根据仿真数据来实现大场景仿真加速度。该方法具有良好的精度和稳定性,可以合理地预测各种流体的速度场模拟场景与随机的初始状态。的基础上确保预测的合理性,它有一个相当大的性能加速大型场景动画仿真。在未来,我们将探讨流体的应用程序是否在现实世界中收集的数据可以被扩展,如泥石流、视频、和工业粘贴的图片,材料参数不能准确评估。

数据可用性

使用的数据来支持本研究的发现可以从相应的作者。

的利益冲突

作者宣称他们没有竞争的经济利益或个人关系可能出现影响工作报告。