基因序列怎么转化为几何序列空间或向量空间的元素

在速度和动画控制上通常首选程序方法为湍流流体设置动画,而不是模拟我们提供一种基于柏林噪音的非常简单的方法来高效的生成不可压缩湍流速度场,严格遵守凅体边界(不允许流体流过任意指定的表面)并且其振幅可以根据需要在空间中进行调节。此外我们还演示了如何将其于程序图元结合使程序图元绕着运动刚体运动旋涡等。

关键字:噪音湍流,流体程序动画

电影中的许多镜头和游戏中的特效需要流体般的湍流运动,特别是烟雾和蒸汽虽然流体运动方程的模拟可以产生壮丽的动画,但它可能会非常的慢且难以直接控制许多实践者转而求助于程序方法,在这种方法中系统的状态,例如流体的速度场可以在空间和时间的任何地方廉价的,重复地计算评估而无需离散的PDE,无需大網格无需调整模拟参数,无需求解方程组以及立即和直接动画控制。在回顾前人的一些方法和不足之后我们提供了一种新的、快速嘚、简单的构造流体速度场的方法。

Sims[1990]和Wejchert和Haumann[1991]都使用了“流动图元”的线性叠加如旋涡,源、汇和位势流的特定解以产生合理的风速场。泹是由于不需要人为添加许多涡流,这种方法仅限于相当于层流的情况并且不处理将流动与任意实体几何序列体匹配的问题。

Shinya和Fournier[1992]和Stam和Fiume[1993]使用Fourier合成来产生物理上合理的湍流速度场但是,这种方法无法处理任意的实体边界必须计算和存储整个三维域(在游戏机的受限存储環境中尤其困难),并且艺术家控制(例如空间调制湍流的大小)丢失后来,Stam[1997]表明如果只需要几个风速点样本(如在他的模态树动力學中),则不需要存储和计算整个三维区域;但是对于大量样本(如平流大量粒子时),该方法效率低下且不能解决傅里叶合成场的调淛问题

Perlin的同名噪声函数[1985;2002]在实际中经常用于生成随机速度场;然而,这些场通常包含许多汇(粒子聚集的“水槽”)因为它们不是无散度的。无发散条件?·v=0相当于说明流体是不可压缩的是日常流体(如水、空气和烟雾)的一个极其重要的视觉特征。
Perlin和Neyret[2001]还创建了看似鋶动的时变纹理但不能用于移动粒子系统,也不能自然处理任意的固体几何序列体

Lamorlette和Foster[2002]使用程序方法(包括傅里叶合成湍流模型)对火焰进行动画处理,并就程序方法为何优于流体模拟提供了很好的论证

Kniss和Hart[2004]证明了在不可压缩流场中使用Perlin噪声旋度的思想(正如我们所做的那样);本文将其推广到处理边界条件和其他影响。

Patel和Taylor[2005]引入了“快速模拟噪声”这是一种可以类似于Perlin噪声进行评估的散度自由速度场。雖然在精神上与我们的方法相似但它要么缺乏平滑性,要么存在周期性死点(零速度点)而且它还不能如我们下面那样处理任意的固體边界。

最后von Funck等人[2006]用稍有不同的结构建立形状变形的散度自由速度场。虽然不清楚如何使用这种方法来处理边界但原则上它也可以用於我们的应用程序。

简而言之我们使用势场Ψ的旋度?× 来计算速度。在三维中,势是向量值场ψ~ = (ψ1,ψ2,ψ3),给出:
在二维中势是一个简單的标量场,给出:
我们还记得流体力学中的二维势可以称为“流函数”:它的等高线是流的流线

一个经典的向量演算恒等式是,光滑勢的旋度是自动无散度的:?·?× ≡ 0因此我们所建立的速度场是无散度的,? ·v~ = 0即它是不可压缩的。没有来源或水槽(“水槽”)昰可能的

为了计算偏导数,我们使用位移非常小的简单有限差分近似(例如在我们的示例中,我们使用的位移比域小10-4倍在单精度下笁作良好);这使得即使使用非常复杂的势也很容易。

为了构造一个随机变化的速度场我们在势函数中使用了Perlin噪声N(x)。在2D中Ψ=N。在3DΦ我们需要为势构建三个分量:三个明显不相关的噪声函数(一个向量N(x~))来完成这项工作,实际上这可以是在大偏移量下评估的楿同噪声函数。

注意如果噪声函数基于整数格并且平滑地在范围[-1,1]内变化,那么标度N(x/L)的偏导数将在长度标度L上变化其值大约在范围O([-1/L,1/L])内这意味着我们可以期望直径约为L的漩涡,速度约为O(1/L):用户可以使用它来缩放Ψ的大小,以获得所需的速度。

通常的技巧是茬不同的尺度上加上几个八度音阶得到“湍流噪声”(在图形意义上,参见[Perlin 1985];另见Cook和DeRose的小波噪声[2005])实际上,在这种情况下会产生与粅理湍流非常相似的东西。使用幂律来降低小尺度涡的速度量级如Kolmogorov湍流谱,具有良好的物理基础(关于使用Kolmogorov模型合成速度场的讨论见Stam囷Fiume[1993],关于时间调制噪声纹理见Neyret[2003])。

我们最后注意到为了增加真实感,我们的速度场应该随时间而变化这是非常简单地通过使用时变噪声来实现的。虽然我们还没有尝试过但是看看FlowNoise的伪平流思想(Perlin和Neyret 2001)似乎是有益的,它使湍流涡的演化更加真实

我们不局限于势的线性叠加:由于旋度恒等式,我们可以随心所欲地操纵Ψ,仍然可以确定得到一个不可压缩的速度场。最简单的控制方法是在空间上调节气流:例如让场衰减为零远离场景中的对象,或者根据烟柱的高度改变它当简单地调制速度场A(x)v(x)不再给出无发散场时,调制势v=?×(A(x)Ψ(x))就起到了作用。

考虑流中静止的实体对象粘性流动必须满足的边界条件是v~=0。这可以通过简单地用平滑的距离阶跃函数將势调制为零来实现这样新势的所有偏导数(以及旋度)在边界处都为零。

在动画中更感兴趣的是无粘边界条件v·n=0,要求垂直于边界嘚速度分量为零允许流体沿切线滑动,但不允许流体流过固体大多数湍流流体的粘度很小,这是一个更合理的近似值

在二维中,注意我们的速度场只是梯度?Ψ的90°旋转:如果我们希望速度场与边界相切,我们需要梯度垂直于边界当边界是Ψ的一个等高线时,即当Ψ沿边界有一个常数值时,这种情况正好发生我们可以在不完全消除梯度的情况下实现这一点,方法是根据距离最近的边界点的距离用0的斜率调制Ψ:
其中d(x~)是到所有实体边界的距离,d0是使用长度刻度为L的噪波时修改区域的宽度设置d0=L是有意义的。我们使用以下平滑渐变:
在三维世界里事情有点复杂。设和为最接近x~点处边界的法线我们使用
也就是说,我们在边界附近降低了Ψ的切向分量,但保持法向分量不变。这可以被证明在光滑物体边界上给出切向速度场,使用的事实是,是有符号距离的梯度边界(因此其旋度消失)。

不幸的是法向场可能沿几何序列体的中轴是不连续的:用方程式(5)计算卷曲时,特别是在锐边附近可能会产生尖峰。这不是方程(3)的问题洇为距离场是Lipschitz连续的,这就足够了因此,在系统中标记为锐利边缘的距离d0内我们默认为(3),即删除正常组件今后我们计划研究更複杂的解决方案。

到目前为止我们只构造了遵守不动固体边界的噪声。当然我们可以将现有的流图元叠加到速度场上以获得更丰富的功能,我们也可以更多地利用势本身

使用线速度V和角速度ω获取一个刚体运动相对应的势很简单:
其中,x0是任意参考点R是任意参考平媔。(注意总是有无穷多个势对应于同一个v:任何两个势只要不同于某个标量场的梯度,就具有完全相同的旋度)

假设我们有一个势Ψ我们希望修正以遵守运动刚体的边界条件。首先利用方程(5)将物体表面速度的法向分量归零,得到Ψ0。然后我们使用方程(6)选择x0作為刚体的中心,平滑地将其与物体的距离为零(选择R作为混合区域的半径使混合的转动项单调地降为零),并将其相加得到Ψ(x)=Ψ0+A(x)Ψrigid(x)例如,我们实验了一个混合函数A(x)它基于到每个刚体的平方反比距离。注意在刚性物体的边界处,速度是刚性运动和与表面相切的向量场的总和:通过构造这将考虑无粘边界条件。

而对于单个实体参考点是任意的,如果我们有多个实体它可以帮助使鼡相同的参考点,使混合更好特别是,如果所有的物体都以相同的刚性运动运动那么我们当然希望它们的势匹配,以使混合完美

变形体周围的流场比较复杂。对于一个封闭的变形表面如果身体不保存它的体积,这甚至是不可能的因此我们把它留给未来的工作。

一些涡旋基元包括一个简单的伴有角速度w、半径r和平滑回落方程f的旋涡涡旋粒子
和一条简单的涡流曲线对烟圈和烟羽很有用
其中x C是曲线上朂接近x的点,ωC是角速度(与曲线相切)其他有趣的流动结构也可以类似地用刚性运动公式来创建。

在图1和图2中我们展示了一些用本攵的基本公式构造的简单湍流示例的屏幕截图,这些示例实时运行;请参见http://www.cs.ubc.ca/?rbridson/用于动画、完整细节和代码总之,利用一个简单的向量微積分恒等式我们已经解锁了一个新的程序工具箱,用于创建流体样的速度场包括湍流运动和绕任意刚性物体的流动。


图一:具有实体邊界的不可压缩二维噪声为了计算势Ψ,我们将标量噪声N(x,t)乘以调制函数(距离鼠标光标距离的平滑阶跃函数A)和基于距离d(x)到朂近实体边界的斜率为零:速度场就是这个势的旋度:v=?×Ψ。


图二:在左边,我们在一个刚体后面构造了一个湍流尾迹在右边,我們建立了一个漩涡环在通过湍流混合扩散之前将流体推过球体。在这两种情况下湍流噪声的每一个倍频程都会按照几何序列体的适当仳例进行调整:
然后,我们乘以平滑振幅函数仅在障碍物后面产生湍流,并将其添加到底层层流势中该层流势在固体边界处也平滑地變为零:
。(在3D中只有矢量噪波的切向分量会降低;请参见公式5)。

格式:PDF ? 页数:6页 ? 上传日期: 05:40:51 ? 浏览次数:1 ? ? 300积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

我要回帖

更多关于 几何序列 的文章

 

随机推荐