学习教程来自:GAMES201:高级物理引擎实战指南2020
以下大部分图片来自教程PPT,仅作为笔记用于学习和分享,侵删

笔记内容大多为课程内容的翻译和转述,外加一些自己的理解,若有不正确的地方恳请大家交流和指正

笔记

0. 显式时间积分器和隐式时间积分器对比

显式容易实现,数值上不稳定,对dt更敏感。
隐式较难实现(通常需要求解线性系统、多次迭代、求倒数等),但允许较大dt。

1. 模拟弹性物体

弹性材质是很多材质的基础(viscoelastic粘弹性, elastoplastic弹性塑料, viscoplastic粘塑性,等)

1.1 形变 Deformation

deformation map ϕ(向量函数)把物质的静止位置Xrest映射到形变位置Xdeformed

将此函数对静止位置求导,得到形变梯度F

J(Jacobian)=形变后体积/静止体积=矩阵F的行列式

1.2 弹性 Elasticity

材料具有恢复到静止状态的性质

超弹性模型Hyperelasticity
ψ:势能函数,表示单位体积的应变势能的密度(strain energy density function)。定义了应力和应变的关系
Stress:应力,材料内部的弹性力,用来恢复材料的体积形状的内力
Strain:应变,材料形变的度量,可用形变梯度F替换

1.3 应力张量 Stress tensor

一个3x3矩阵/2阶张量,取材料微元内部的截面的法向量乘以Stress tensor,可以得到对周围邻居施加的力(应力?)(Traction)

3种常见的Stress tensor:P、τ、σ
PK1(The First Piola-Kirchhoff stress tensor):对ψ求导,在rest空间下计算得到应力张量(Stress tensor),不对称

Kirchhoff stress tensor:在形变后的空间计算得到,对称
Cauchy stress tensor:在形变后的空间计算,对称(由于角动量守恒)

三者的关系的理解:3个都是stress tensor,Kirchhoff=形变梯度的行列式乘以Cauchy=PK1乘以形变梯度的转置。J形变梯度的行列式表示形变后体积的变化比值。F转置表示材料从rest space(形变前空间)到形变后的空间,F转置求逆则相反,从形变后的空间到rest space。

1.4 几个描述弹性材料的属性 Elastic moduli

  1. 杨氏模量 Young’s modulus E:应力/应变之比,单位是Pa(N/m^2) ,描述固体材料抵抗形变能力的物理量,是沿纵向的弹性模量
  1. 泊松比 Poisson’s ratio ν :横向正应变和轴向正应变的比值,泊松比较大时更接近不可压缩,例如皮筋为正的泊松比,是反映材料横向变形的弹性常数

注意:以下的量均可根据杨氏模量和泊松比计算出,故一般只给出1和2即可得到材料的弹性属性

  1. 体积模量/体变模量 Bulk modulus K :压强和体积变化的关系,单位Pa,V为原本的体积
  1. Lamé’s first parameter µ
  2. Lamé’s second parameter λ(切变模量/剪切模量/G):剪切应力与应变的比值,越大材料刚性越大,难以剪切

1.5 常见的超弹性模型

Linear elasticity:更适用于小范围的形变,材料在模拟时旋转后不再符合物理规律

Neo-Hookean模型:

修正后的Corotated模型:其中σi时F的奇异值/特征值(singular values)

2. 有限元 FEM

Finite element method:一个使用了weak formulations的离散化方法,把空间分为一个个Element(如三角元素)

2.1 弹性系统中的有限元

由于形变梯度(deformation gradient)F在一个有限元元素(element)里是一个常数,deformation map ϕ成为一个仿射变换(affine)

元素的弹性势能:能把势能密度在体积上积分得到,由于F是一个常数,故密度也是常数,积分结果为体积乘以密度
势能定义:-力关于位置求导数 dw = -f ds

2.2 形变梯度F的计算

以下为2维空间下,三角形作为元素的求解F(2x2矩阵)过程,已知deformation map如下

将x分别拆分为三角形3个顶点的位置

1-3 2-3化简

构建矩阵B和D直接求,其中B可提前计算出(其只和静止位置相关)

2.3 更新速度和位置

显式积分器方法,Semi-implicit Euler (aka. symplectic Euler)

其中只求f即可,过程:势能求导=每个元素的势能求导再求和=拆出每个元素的势能,并使用链式求导法则=用PK1替换(V为常数,只剩下PK1和F导数)

隐式积分器方法,backward Euler,其中f部分已经再上边求出,式中需要再对f求一次导数(二阶导数),M为对角矩阵,存储每个节点的质量

Games201学习笔记2:拉格朗日视角2相关推荐

  1. Games201学习笔记3:欧拉视角

    学习教程来自:GAMES201:高级物理引擎实战指南2020 以下大部分图片来自教程PPT,仅作为笔记用于学习和分享,侵删 笔记内容大多为课程内容的翻译和转述,外加一些自己的理解,若有不正确的地方恳请 ...

  2. Games201学习笔记5:线性弹性有限元

    学习教程来自:GAMES201:高级物理引擎实战指南2020 以下大部分图片来自教程PPT,仅作为笔记用于学习和分享,侵删 笔记内容大多为课程内容的翻译和转述,外加一些自己的理解,若有不正确的地方恳请 ...

  3. 【GAMES201学习笔记】00 - Taichi三维可视化 - Taichi_THREE

    1. 开始之前 1.1 学习资源链接 Taichi_THREE 原作者的教程视频: https://www.bilibili.com/video/av628129594 github 链接: http ...

  4. 【学习笔记】拉格朗日插值

    整理的算法模板合集: ACM模板 目录 P4781 [模板]拉格朗日插值 重心拉格朗日插值法 拉格朗日插值法求系数 自然数k次幂的和 点我看多项式全家桶(●'◡'●) P4781 [模板]拉格朗日插值 ...

  5. [MATLAB学习笔记]view相机视角

    view(az,el) 为当前坐标区设置相机视线的方位角和仰角. 使用向量更改视图 创建一组 x.y 和 z 坐标,并使用它们绘制一个曲面.然后标记每个轴. [X,Y] = meshgrid(-5:. ...

  6. 【GAMES201学习笔记】MLS-MPM公式基础

    1. 符号记法 1.1 标量 标量 用非加粗的小写字母或者大写字母表示. 符 号 含 义 mim_imi​ 第 iii 个网格的质量 Vp0V^0_pVp0​ 第 ppp 个粒子在第 000 个时间步 ...

  7. 【GAMES201学习笔记】00 - Taichi 编程

    参考文档 <Taichi编程语言 - 中文文档> 1. 初始化 Taichi ti.init(arch = ti.cuda) 推荐使用: ti.init(arch = ti.gpu) 会自 ...

  8. Polyworks脚本开发学习笔记(二二)-调取视角用脚本自动生成报告

    Polyworks脚本开发学习笔记(二二)-调取视角用脚本自动生成报告 Polyworks中,3D场景的视图可用标准视角及等轴侧视角.项目视角等方式调用,也可以用txt格式保存下来调用,如果以脚本的形 ...

  9. 凸优化学习笔记 11:对偶原理 拉格朗日函数

    前面讲了凸优化问题的定义,以及一些常见的凸优化问题类型,这一章就要引入著名的拉格朗日函数和对偶问题了.通过对偶问题,我们可以将一些非凸问题转化为凸优化问题,还可以求出原问题的非平凡下界,这对复杂优化问 ...

最新文章

  1. 使用javascript模拟常见数据结构(二)
  2. Android:屏幕旋转
  3. Windows7中快捷方式图标打开方式恢复
  4. term date at Cambridge
  5. C语言之加入头文件<stdbool.h>可以使用true和false
  6. 论文浅尝 | Hike: A Hybrid Human-Machine Method for Entity Alignment
  7. Curator操作ZooKeeper
  8. Transformer 这么强,该从何学起?
  9. Ubuntu 16.04安装NVIDIA驱动后循环登录问题
  10. 《统计学习方法》代码全解析——第二部分 感知机
  11. python函数myproduct_OpenERP与Python 元编程
  12. iOS开发之NSURLSession/NSURLConnection HTTP load failed 的解决办法
  13. 斐波那契数列基本性质
  14. html当前时间插件,HTML日期时间插件
  15. 萌新小白,求大神解答
  16. 博客-需求说明答辩总结
  17. 计算机考研数据库题库
  18. 通过网易财经爬取股票数据
  19. 标梵互动信息解说关于CSS-in-JS: 使用及优缺点
  20. cf显示服务器登录,cf显示与服务器

热门文章

  1. 导航php系统,php源码:智能的网址导航建站系统 114啦网址导航系统 v2.0
  2. Squeeze-and-Excitation Networks论文翻译——中英文对照
  3. 锁相环(PLL: Phase-locked loop)
  4. 微型计算机知识做流水灯,微机原理流水灯的设计.doc
  5. GBase 8a MPP数据库JDBC驱动IPv6设置
  6. Learning What to Learn for Video Object Segmentation
  7. Android中的文件读写操作
  8. three.js根据高德地图的经纬度信息打造3D地图
  9. 网络爬虫学习网络资源链接汇总
  10. Python Scrap框架教学,爬取某食品论坛数据