CG-GMP-PBCA
Computer Graphics
Geometry Modeling And Processing
Physics-based Computer Animation
RigidBody
Dynamics
Impulse
The goal of simulation is to update the state variable sk over time.
And we use semi-implicit(leapfrog)
approach.
Rigid Body Simulation
For every vertex
if
if
compute the impluse j
Update v and w
First,we move vertices independently by its velocity,with collision and friction being handled.
Second,enforce the rigidity constraint to become a rigid body again.
R
is rotation
and S
is deformation
local deformation
VDVT = S
The polar decomposition is unique
For every vertex
PBD
Cloth
constraint
Gauss-Seidel Approach
stochastic gradient descent
For k = 0...K
For every edge e = {i,j}
Jacobi Approach
For k = 0...K
For every vertex i
For every edge e = {i,j}
For every vertex i
For k = 0...K
For every vertex i
For every edge e = {i,j}
For every vertex i
effect
- The number of iterations
- The mesh resolution
Strain Limiting
Do simulation,update x and v
Strain limiting starts
gradient
loop through each edge
update
colliding and apply impulse
Explicit integration suffers from numerical instability
caused by overshooting
,when the
stiffness
k and/or the time step
dt is too large.
Edge list:E
Edge length list:L
Compute Spring Forces
For every edge e
A Particle System
For every vertex
Implicit integration is a better solution to numerical instability
.The idea is to integrate both x
and v
implicitly.
We should note that it is implicit integration that can overcome
overshooting,overshooting is overcome by error attenuation.
And solving equations
is a special case of optimization problem
.
traditional
or
Assuming that f
is holonomic (only depends on position).depending on x
only,our question is how to solve:
They are equivalent:
for
because
equivalent
Note
that this is applicable to every system,not just a mass-spring system.
optimization problem
F(x) is Lipschitz continuous
goal
Newton's method
Initialize x(0)
For k = 0...K
because
so
the goal is to solve
Jocobi
For k= 0...K
r
residual error
if
convergence condition
break
diagnonal of A
D
Chebyshev Accleration
St.Venant-Kirchhoff(StVk)
explicit time integration
tetrahedral
First simulate the object as a simple particle system,each vertex has its own x and v,and the v is under the influence of gravity.
Then we calculate the edge matrix of a tetrahedron.And based on the FEM,
calculate the deformation gradient
F and the Green Strain
G,and the
Second Piola-Kirchhoff stress
S,and finally the forces of 4 vertices.
Finally,implement the Laplacian smoothing
over the vertex velocities.
The Linear FEM assumes that the deformation of any triangle is uniform inside.
For any point X in the reference,its deformed correspondence is :
deformation gradient
Green Strain
Total energy
Saint Venant-Kirchhoff Model
Second Piola-Kirchhoff stress tensor
[f1 f2]
Force
Height Field
shallow wave equation
Volume Preservation
One-way Coupling