Processing math: 100%

P3

Linear Finite Element Method

P4

The Linear FEM Assumption

✅ 假设:三角形的形变是均匀的

In a nutshell, linear FEM assumes that for any point X in the reference triangle, its deformed correspondence is: x=FX+c.

✅ reference triangle:三角形处于没有发生形变的静止的状态。
Xx可以分别是 reference 和 deformed 三角形的顶点或内部点,公式都同样适用。

For any vector between two points, we can use F to convert it from reference to deformed:
xba=xbxa=FXb+cFXac=FXba.

P5

计算Deformation Gradient

Therefore, we can calculate the deformation gradient by edge vectors.

Problem: F is related to deformation, but it contains rotation.

✅ 期望F只包含形变量、不包含平移和旋转、因为刚体运动不应该有形变,所以要把形变提取出来。
✅平移已经在c里面了,所以只需考虑旋转。

P6

从F中去除旋转

回顾SVD分解

Ideally, we need a tensor to describe shape deformation only. Recall that SVD gives F=UDVT, where only VT and D are relevant to deformation.

VT 看上去是旋转、实际上是为了确定形变的方向、 U 才是真正的旋转
✅ 目的:把F中的U去掉、可以先做 SVD 分解再把U去掉。但本文使用了更简单的方法

Green Strain

So we get rid of U as: G=12(FTFI)=12(VD2VTI)=[εuuεuvεuvεvv], Green strain.

G 是一个描述物体形变的有无和大小矩阵,且与关旋转

  • If no deformation, G=0; if deformation increases, ||G|| increases.
  • Three deformation modes: εuu, εvv and εuv.
  • G is rotation invariant: if additional rotation R, then deformation gradient is RF but green strain is the same: G=12(FTRTRFI)=12(VD2VTI).

P7

计算能量

Let G be the the green strain describing deformation. We consider the energy density per reference area as: W(G).

✅用形变程度来定义能量。W代表单位面积上的能量,因此称为能量密度。总能量为单位能量X面积.
Aref 为 reference status 下三角形的面积
✅ StVK是一种经典的能量密度函数(Strain Energy Density Function), 在力学中不常用,但在图形学中很常用、原因是简单

✅ S 是一个与力有关的物理量。会在FVM内容中进一步解释。
✅ 能量对位移求导是力。形变是一种位移。能量密度对位移求导是一种类似于力的密度的量。

P8

计算Forces

Given everything we have, we can now calculate the forces.

✅ 力是形变施加到顶点上的力

✅ 绿色部分是上一页S中的内容、灰色部分将在下一页推导。

P9

方法一

Recall that,

F不是力,是deformation gradient.
✅ 假设a,b,c,d是形变后的顶点。

By definition,
G=12(FTFI)=[12(ax10+cx20)T(ax10+cx20)1212(ax10+cx20)T(bx10+dx20)12(ax10+cx20)T(bx10+dx20)12(bx10+dx20)T(bx10+dx20)12]

So:

εuux1=a(ax10+cx20)Tεvvx1=b(bx10+dx20)Tεuvx1=12a(bx10+dx20)T+12b(ax10+cx20)T

εuux2=c(ax10+cx20)Tεvvx2=d(bx10+dx20)Tεuvx2=12c(bx10+dx20)T+12d(ax10+cx20)T

x为current边的矩阵,r为reference边的矩阵。

P10

方法二

✅ 把 P9 代入 P8 得到 P10
✅ 上一页推导方法从定义出来,过程简单,但很容易出错。这里用矩阵来简化计算,得到同样的结果。

P11

结论

In conclusion, we have:

f1=ArefFS[ab]f2=ArefFS[cd]

[f1f2]=ArefFS[X10X20]T

f0=f1f2

P12

Implementations

🔎 Volino et al. 2009. A simple approach to nonlinear tensile stiffness for accurate cloth simulation. TOG

Only talks about cloth (2D reference -> 3D deformation)

  • What about tetrahedron (3D reference -> 3D deformation)?
    • Same idea, but everything is now in 3D.
    • Deformation gradient FR3×3
    • Green strain GR3×3
    • Stress tensor SR3×3
    • Forces FiR3

本文出自CaterpillarStudyGroup,转载请注明出处。

https://caterpillarstudygroup.github.io/GAMES103_mdbook/