-
Mass points :
- Mass ππ, position ππ, velocity ππ
-
Constraints :
- e.g. spring(distance) constraint
-
Just like mass spring systems
-
Main difference time stepping method
-
Operate on βproposed solutionβ : ππ,β¦,ππ
-
Distance constraint (spring) : πͺππ,ππ=ππβππβπ
-
The most primitive of geometric constraints, distance based constraints restore mesh edges that extend or compress relative to their rest length
-
-
Projection
-
Task : update state ππ,β¦,ππso that the constraints are approximately satisfied
-
PBD uses local linearization : one constraint at a time
-
PBD use only first derivatives
-
-Main idea of PBD
-
Project constraints one by one
-
One descent step per constraint
-
Why this works better?
-
ππare immediately updated
-
Next linearization works with the updated state
-
-
Taylor expansion :
- πͺπ+Ξπβπͺπ+π΅ππͺπβΞπ=π
-
Step :
- Ξπ=ππ΅ππͺπ
Putting together :
- Ξπ=βπͺ(π)/|π΅ππͺ(π)|^π*π΅ππͺπ
-
Important for cloth and thin shells
-
How to measure bending?
-
Simple way : cross spring
-
Drawback : interferes with in plane stretching
-
-
Constraint on volume of closed mesh
-
Assume : collisions already detected
- Simple objects : easy
-
Similar as penalty forces (but constraints)
