Position-Based Dynamics
Analysis and Implementation
Miles Macklin
Position-Based Dynamics Analysis and Implementation Miles Macklin - - PowerPoint PPT Presentation
Position-Based Dynamics Analysis and Implementation Miles Macklin Analysis Position-Based Dynamics Very stable Highly damped Example Continuous Equations of Motion Newtons second law Will consider forces which we can
Miles Macklin
from an energy potential E(x)
transform it into PBD
damped.
vn+1 = vn + ∆tM−1f(xn+1) xn+1 = xn + ∆tvn+1
M ✓xn+1 − 2xn + xn−1 ∆t2 ◆ = f(xn+1)
conditions for a non-linear minimization
[Liu et al. 2013]
M(xn+1 − 2xn + xn−1) = ∆t2f(xn+1)
˜ x = 2xn − xn−1 + M−1fext = xn + ∆tvn + M−1fext
argmin 1
2(xn+1 − ˜ x)T M(xn+1 − ˜ x) − ∆t2E(xn+1)
stiffness we obtain a constrained minimization
E → ∞
argmin subject to
1 2(xn+1 − ˜ x)T M(xn+1 − ˜ x) C(xn+1) = 0
argmin
1 2(xn+1 − ˜ x)T M(xn+1 − ˜ x) − ∆t2E(xn+1)
x∗
C(x) = 0
x1 x2
xn
and project” interpretation for implicit Euler
projection
argmin subject to
1 2(xn+1 − ˜ x)T M(xn+1 − ˜ x) C(xn+1) = 0
produces a non-linear system of equations
system?
M(xn+1 ˜ x) ∆t2rC(xn+1)T λ = 0 C(xn+1) = 0
Discrete constrained equations of motion Non-Linear System
First approximation:
simplification
Second approximation:
Full Newton System Approximate System
K rCT rC ∆x ∆λ
g(xi, λi) h(xi, λi)
M rCT rC ∆x ∆λ
h(xi, λi)
rC(xi)M−1rC(xi)T ⇤ ∆λ = C(xi)
PBD System
(Schur Complement)
Implicit Euler PBD (each iteration)
˜ x
x∗
C(x) = 0
x1 x2
xn
1 2(x − xi)T M(x − xi) C(x) = 0
1 2(x − ˜ x)T M(x − ˜ x) C(x) = 0
argmin subject to argmin subject to
160 ITERATIONS 20 ITERATIONS
allow constraints to be compliant
non-linear system
stiffness (Young’s modulus)
Potential Compliance
E = 1 2CT (xn+1)α−1C(xn+1)
with respect to M
Projection form
Schur complement Modified Newton System
M rCT rC ˜ α ∆x ∆λ
h(xi, λi)
rC(xi)M−1rC(xi)T + ˜ α ⇤ ∆λ = C(xi) ˜ αλi
as incremental Lagrange multiplier
multiplier for each constraint
stiffness case
PBD XPBD
j
j + ˜
PBD:
calculation (include compliance terms)
(store instead of discard)
constitutive models
constraints
stiffness
Ctri(x) = ✏tri = ✏x ✏y ✏xy αtri = K−1 = λ + 2µ λ λ λ + 2µ 2µ
−1
Etri = V 1 2✏T K✏
Compliance Matrix Constraint Vector Elastic Energy Potential
non-linear Newton method
and dual variables
vn+1 = vn + ∆tM−1f(xn+1) xn+1 = xn + ∆tvn+1
vn+1 = 4 3vn − 1 3vn−1 + 2 3∆tM−1f(xn+1) xn+1 = 4 3xn − 1 3xn−1 + 2 3∆tvn+1
vn+1 = 1 ∆t 3 2xn+1 − 2xn + 1 2xn−1
˜ x = xn + ∆tvn + ∆t2M−1fext
vn+1 = 1 ∆t ⇥ xn+1 − xn⇤
˜ x =4 3xn − 1 3xn−1 + 8 9∆tvn − 2 9∆tvn−1 + 4 9∆t2M−1fext
First Order Second Order
First Order Second Order
First Order Second Order
3 Color Graph
Particle-centric approach (gather) Constraint-centric approach (scatter)
foreach particle (in parallel) { foreach constraint { calculate constraint error update delta } } foreach constraint (in parallel) { calculate constraint error foreach particle { update delta (atomically) } }
converge, e.g.: for redundant constraints (cf. figure)
count for that particle
ni
ni
Method Advantages Disadvantages Batched Gauss-Seidel Good Convergence Very Robust Graph Coloring Synchronization Jacobi Trivial Parallelism Slow Convergence Less Robust
not be possible in other frameworks
filtering
meshes
index to improve memory locality
r
Triangle Collision (TOI) Convex Collision (MTD)
filter
depth to limit constraint lambda
particles
Rest Configuration Deformed State Best Rigid Rotation/ Translation
threshold
particles
particles:
A = X
i
mi(xi − c)(¯ xi − ¯ c)T c = X
i
mixi/ X
i
mi
decomposition
Eigenvalue decomposition
systems
2016]
temporal coherence
[rCM−1rCT ]∆λ = C(xi, ϕi)
density estimation
interactions as if both particles solid
constraints
https://github.com/InteractiveComputerGraphics/PositionBasedDynamics
triangle and edge-edge distance constraints, dihedral bending constraint, isometric bending, volume constraint, shape matching, FEM- based PBD (2D & 3D), strain-based dynamics (2D & 3D).
3D), multi-body systems, fluids and granular materials,
implicit methods
nonconforming elements." ACM Transactions on Graphics (TOG). Vol. 27. No. 3. ACM, 2008.
simulation." ACM Transactions on Graphics (TOG) 33.4 (2014): 154.
contact and friction for cloth animation." ACM Transactions on Graphics (ToG). Vol. 21.
Computer-Aided Design and Computer Graphics, 2009. CAD/Graphics' 09. 11th IEEE International Conference on. IEEE, 2009.
stacking." ACM Transactions on Graphics (TOG). Vol. 22. No. 3. ACM, 2003.
elastic deformable materials. In SIGRAD 2006. The Annual SIGRAD Conference; Special Theme: Computer Games (No. 019). Linköping University Electronic Press.
behaviour." Graphics interface. Canadian Information Processing Society, 1995.
. Pellacini. "Scalable Partitioning for Parallel Position Based Dynamics." EUROGRAPHICS. Vol. 34. No. 2. 2015.
Graphics (TOG) 32.6 (2013): 214.
adhesion for SPH fluids." ACM Transactions on Graphics (TOG) 32.6 (2013): 182.
integration of the cartesian equations of motion of a system with constraints: molecular dynamics of n-alkanes." Journal of Computational Physics 23.3 (1977): 327-341.
SIGGRAPH 2014 Talks. ACM, 2014.
to extract the rotational part of deformations. In Proceedings of the 9th International Conference on Motion in Games (pp. 55-60). ACM.
Graphics 44 (2014): 1-10.
VRIPHYS 2017