使用动态网格的流体动画 Fluid Animation with Dynamic Meshes 论文阅读笔记

这篇具有很好参考价值的文章主要介绍了使用动态网格的流体动画 Fluid Animation with Dynamic Meshes 论文阅读笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原文:

Klingner, Bryan M., et al. “Fluid animation with dynamic meshes.” ACM SIGGRAPH 2006 Papers. 2006. 820-825.

引言

使用 [Alliez et al., 2005] 的方法动态生成不规则的四面体网格

根据边界的位置、边界的形状、基于流体和速度场的视觉重点部分的标准来构建一个尺寸场。这个尺寸场表明要生成的四面体网格在某点处的尺寸

使用不规则的网格,而不是轴对称的,因为不规则的网格更加适应弯曲边界和不规则边界

并且不规则的网格允许控制网格细分

推广半拉格朗日平流,将物理量从旧网格传输到新网格,不会造成额外的平滑

然后执行质量守恒步,这步被拓展为流固双向耦合

背景

[Feldman et al., 2005a] 使用基于速度的非结构化四面体网格

[Elcott et al., 2005] 使用基于涡度的非结构化西面体网格

[Feldman et al., 2005b] 提出的半拉格朗日平流的拓展,不会造成额外的平滑

这个文章综合以上论文的思想

任意拉格朗日-欧拉法 arbitrary Lagrangian-Eulerian (ALE) 就是用于处理固定坐标系下的移动网格,它能够有效地处理高度可变形的弹性材料

使用 [Alliez et al., 2005] 的方法动态生成不规则的四面体网格

该方法是 Delaunay,提供了改进的梯度估计;简化了网格中的速度插值的表达式

方法

[Feldman et al., 2005b] 提出的半拉格朗日平流的拓展,它被用于将状态在变形域之间转移。现在这个文章将他用在将物理量从旧网格传输到新网格,不会造成额外的平滑

[Alliez et al., 2005] 的方法使得在每个时间步生成四面体网格的时间成本可以接受

离散化

交错网格推广到四面体,得到交错四面体法

压力定义在四面体的体心

面法线速度定义在四面体的外心

离散化的导数算子

使用 [Losasso et al., 2004] 和 [Elcott et al., 2005] 中的公式

散度近似为面法线速度的,以面积为权重的加权平均

面的外心处的沿着面法向的梯度使用有限差分计算

在 Delaunay 网格中,连接两个相邻四面体的体心的线穿过它们的公共面的外心

这个特性自然地引出了将速度存储在面的外心处的策略

因为梯度估计相当于对外心值进行插值的分段线性函数的梯度

“对外心值进行插值的分段线性函数的梯度”不知道是什么

速度插值

现在我们只是对于一个四面体定义了存储在面的外心处的面法线速度

但是使用半拉格朗日平流的时候,我们需要在网格的任意位置得到完整的速度矢量

使用 [Elcott et al., 2005] 的两步法

第一步,计算四面体的每个面的外心处的速度矢量

第二步,使用顶点处的速度矢量插值得到网格中任意位置的速度矢量

不知道为什么从面的外心处的速度矢量跳到了顶点处的速度矢量?

求解四面体的速度 u t u_t ut 需要求解一个小型的线性方程组

N t u t = z t N_t u_t = z_t Ntut=zt

其中 N t N_t Nt 是 4 行面的法向, z t z_t zt 是 4 个面法向速度标量排成一列,

其实这个就是,把四面体的速度向四个面法向投影,得到四个面法向速度的意思

如果是无散的话,那么这个投影就是精确的

那么 u t u_t ut z t z_t zt 就可以来回转换

我在想象一个极端情况,一个正四面体,三个面的法向速度都是正无穷大, 那么最后一个面应该是负无穷大才能无散。但是我又想把这个“精确”和线性方程组的解的存在性联系起来。因为 N t N_t Nt 是 4 * 3, u t u_t ut 是 3 * 1, z t z_t zt 是 4 * 1。也就是至少有一个多余的方程。四个法向因为都定义在三维空间,所以最后应该能化简为三个自由度。也就是系数矩阵的秩为 3,增广矩阵的秩不一定是 3,可能是 4,所以我想用解的存在性来解释的话。就是,如果增广矩阵的秩是 4,说明无解,如果为 3 说明有唯一解。增广矩阵是 3 对应着“精确”?

得到四面体的速度之后,要得到任意位置的速度,使用 [Warren et al., 2004] 的方法在四面体的速度之间加权平均

使用动态网格的流体动画 Fluid Animation with Dynamic Meshes 论文阅读笔记,Fluid Simulation,笔记

σ t \sigma_t σt 是与插值位置所在的四面体相交的四面体的集合

x x x 是从插值位置到 σ t \sigma_t σt 中的四面体的面的距离, n f n_f nf 是对应的四面体的面的法向

d f d_f df 是平面偏差,我没理解

∣ N t ∣ \vert N_t \vert Nt 是插值位置所在的四面体的面法向组成的矩阵的行列式

为了简化计算,利用了“在 Delaunay 网格中,连接两个相邻四面体的体心的线穿过它们的公共面的外心”的性质

使用动态网格的流体动画 Fluid Animation with Dynamic Meshes 论文阅读笔记,Fluid Simulation,笔记

Vol(t) 是插值位置所在的四面体的体积

广义的半拉格朗日步

利用 [Feldman et al., 2005b] 的方法

使用动态网格的流体动画 Fluid Animation with Dynamic Meshes 论文阅读笔记,Fluid Simulation,笔记

重新网格化

[Alliez et al., 2005] 的划分网格的方法

网格的细化由一个函数控制

使用动态网格的流体动画 Fluid Animation with Dynamic Meshes 论文阅读笔记,Fluid Simulation,笔记

k0 是一个偏移,提供最小值

d(x) 是点 x 到最近的障碍物的距离

s(x) 是烟雾的密度

w(x) 是速度场的涡度

这就达成了在视觉重点的部分细化网格的结果

网格划分方法是迭代的。因为每一个时间步之间流体状态应该不会变化太快,所以用上一个时刻的值作为下一个时刻的初始值,以加速迭代

在优化节点位置时,我们将节点移动到周围四面体重心的平均值,而不是外心。我们发现,虽然这往往会稍微降低网格中四面体的平均质量,但它通常会导致网格中最差元素的质量显着提高,这是数值模拟更关心的

双向流固耦合和质量守恒

流固耦合和质量守恒的条件罗列到一起:

  1. 界面处的法向与速度的法向相同

  2. 速度场无散(质量守恒),固体刚性

  3. 线动量和角动量守恒

依次执行这些条件时,后执行的条件可能破坏以前的条件

现在这个文章同时执行这些条件

将质量守恒扩展到包括动态刚体,这是通过求解流体和刚体的加速度,忽略两者的压力来实现的(看不懂)。然后再求解满足流体无散条件和刚体边界条件的压力

就是说,先求两者的加速度,然后再求满足这两者的加速度的压力?这样就能求得兼顾两者的压力?

刚体的加速度时通过 R 乘以刚体周围一圈的压力组成的向量而得到的

使用动态网格的流体动画 Fluid Animation with Dynamic Meshes 论文阅读笔记,Fluid Simulation,笔记

使用动态网格的流体动画 Fluid Animation with Dynamic Meshes 论文阅读笔记,Fluid Simulation,笔记

很好,之后的看不懂了,要是需要再看吧

总结来说,感觉他就是把各个方法组合在了一起而已……

他把别人生成不规则四面体网格和半拉格朗日平流的算法结合了起来,然后自己稍微修改了一下,修改了西画网格的控制函数,流固耦合的方法

虽然我看不懂具体在说什么,因为我没看过他使用的别人的方法的源论文文章来源地址https://www.toymoban.com/news/detail-831319.html

到了这里,关于使用动态网格的流体动画 Fluid Animation with Dynamic Meshes 论文阅读笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Pygame 基础教程12: 使用 精灵(Sprite) 实现 帧动画(Animation)

    原文链接:https://xiets.blog.csdn.net/article/details/131395288 版权声明:原创文章禁止转载 专栏目录:Pygame 专栏(总目录) 精灵(Sprite) 表示游戏画面中基本的显示元素,前面所介绍的精灵虽然位置可以动态移动,但都是一张静态图片。游戏中还有许多动态的动画精灵,如一只飞翔的

    2024年01月17日
    浏览(55)
  • 微信小程序animation动画,微信小程序animation动画无限循环播放

    需求是酱紫的: 页面顶部的喇叭通知,内容不固定,宽度不固定,就是做走马灯(轮播)效果,从左到右的走马灯(轮播),每播放一遍暂停 1500ms ~ 2000ms 刚开始想的是 css 的 position: relative + animation,如果宽度固定还好说,宽度不固定,用百分比的话,想象很美好,现实很

    2024年02月13日
    浏览(57)
  • 骨骼动画——2D Animation

    传统的序列帧动画为了达到好的动画效果,理论上来说,图片越多,动作越流畅,往往需要较多的美术资源,虽然效果好但是资源占用较多 而2D骨骼动画是利用3D骨骼动画的制作原理进行制作的,将一张2D图片分割成n个部位,为每个部位绑上骨骼,控制骨骼旋转移动,达到用

    2024年02月01日
    浏览(42)
  • Unity Animation -- 导入动画

            尽管Unity中的动画工具已经比较强大了,但对于非常复杂的或很长的动画,通常是由外部DCC创建。特别是对于角色动画来说,需要在动画过程中进行复杂的控制。因此我们通常需要将外部制作的动画导入到Unity中。         对于复杂的动画,制作过程会非常耗时。动

    2024年02月12日
    浏览(51)
  • css的animation动画

    创建动画序列,需要使用 animation 属性或其子属性,该属性允许配置动画时间、时长以及其他动画细节,但该属性不能配置动画的实际表现,动画的实际表现是由 @keyframes 规则实现 属性 描述 animation-name 指定由 @keyframes 描述的关键帧名称 animation-duration 设置动画一个周期的时长

    2024年02月06日
    浏览(82)
  • animation动画

    通过 CSS3,我们能够创建动画 如果要在 CSS3 中创建动画,需要使用 @keyframes 规则 animation属性是复合属性 检索或设置对象所应用的动画特效 @keyframes 创建动画 语法: @keyframes 动画名{ 具体关键样式变化 } @-webkit-keyframes 动画名{ 具体关键样式变化 } // @keyframes 动画名{ fro

    2024年02月01日
    浏览(31)
  • UnityVR--组件5--Animation动画

    目录 新建动画Animation Animation组件解释 应用举例1:制作动画片段 应用举例2:添加动画事件 Animator动画控制器 应用举例3:在Animator中设置动画片段间的跳转 本篇使用的API:Animation、Animator以及Animator类中的SetFloat、SetInteger、SetBool等,以及短小动画片段的制作 新建动画Animati

    2024年02月08日
    浏览(42)
  • UnityVR--组件6--Animation动画

    目录 新建动画Animation Animation组件解释 应用举例1:制作动画片段 应用举例2:添加动画事件 Animator动画控制器 应用举例3:在Animator中设置动画片段间的跳转 本篇使用的API:Animation、Animator以及Animator类中的SetFloat、SetInteger、SetBool等,以及短小动画片段的制作 新建动画Animati

    2024年02月15日
    浏览(41)
  • Unity老动画系统Animation

    1、创建老动画系统 给要制作动画的GameObeject添加Animation组件 2、Animation参数 Animation:默认播放的动画 Animations:该动画组件可以控制的所有动画 Play AutoMatically:是否一开始就自动播放默认动画 Animate Physics:动画是否与物理交互 Culling Type:决定什么时候不播放动画     Alwa

    2024年02月06日
    浏览(40)
  • Unity Animation动画时间设置

    遇到一个需求,需要给角色添加一个翻滚动作,在翻滚同时无敌且可穿越敌人。 目前已有翻滚的动画,是使用Sprite制作的动画剪辑。如何匹配动画时间和脚色无敌时间?做到在翻滚结束时同时结束无敌与无碰撞设置。 在Animation设置窗口中,有Samples字段,可设置动画的采样帧

    2024年02月01日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包