Upload
lexiss
View
43
Download
2
Embed Size (px)
DESCRIPTION
Bending, Breaking and Squishing Stuff. Marq Singer Red Storm Entertainment [email protected]. Synopsis. This is the last lecture of the day, so I’ll try to be nice Stuff that’s cool, but not essential Soft body dynamics Breaking and bending stuff Generating sounds. Squishing Stuff. - PowerPoint PPT Presentation
Citation preview
Bending, Breaking and Bending, Breaking and Squishing StuffSquishing Stuff
Marq SingerMarq SingerRed Storm EntertainmentRed Storm Entertainment
[email protected]@redstorm.com
Synopsis This is the last lecture of the day, so
I’ll try to be nice Stuff that’s cool, but not essential Soft body dynamics Breaking and bending stuff Generating sounds
Squishing Stuff Soft Body Dynamics
The Basics Use constraints to limit behavior For our purposes, we will treat each
discreet entity as one particle in a system
Particles can be doors on hinges, bones in a skeleton, points on a piece of cloth, etc.
Spring Constraints Seems like a reasonable choice for
soft body dynamics (cloth) In practice, not very useful Unstable, quickly explodes
Stiff Constraints A special spring case does work Ball and Stick/Tinkertoy Particles stay a fixed distance apart Basically an infinitely stiff spring Simple Not as prone to explode
Cloth Simulation Use stiff springs Solving constraints by relaxation Solve with a linear system
Cloth Simulation0P 1P
5P
1,0C 2,1C5,0C
Cloth Simulation Forces on our cloth
mtFtta
tatvttvtvtpttp
ii
iii
iii
)()(
)()()()(
Cloth Simulation Relaxation is simple Infinitely rigid springs are stable
1. Predetermine Ci distance between particles2. Apply forces (once per timestep)3. Calculate for two particles4. If move each particle half the distance5. If n = 2, you’re done!
Relaxation Methods
0P 1P
1,0C
2)()(,
2)()(:0 1100
ptPttPptPttPp
Relaxation Methods
0P 1P
1,0C
0P 1P 2)()(,
2)()(:0 1100
ptPttPptPttPp
Relaxation Methods
0P 1P
1,0C
0P 1P 2)()(,
2)()(:0 1100
ptPttPptPttPp
Relaxation Methods
1,0C
0P 1P 2)()(,
2)()(:0 1100
ptPttPptPttPp
0P 1P
Relaxation Methods
1,0C
0P 1P 2)()(,
2)()(:0 1100
ptPttPptPttPp
0P 1P
Relaxation Methods
1,0C
0P 1P 2)()(,
2)()(:0 1100
ptPttPptPttPp
0P 1P
Cloth Simulation When n > 2, each particle’s movement
influenced by multiple particles Satisfying one constraint can
invalidate another Multiple iterations stabilize system
converging to approximate constraints Forces applied (once) before iterations Fixed timestep (critical)
More Cloth Simulation Use less rigid constraints Vary the constraints in each
direction (i.e. horizontal stronger than vertical)
Warp and weft constraints
Still More Cloth Simulation Sheer Springs
Still More Cloth Simulation Flex Springs
Using a Linear System Can sum up forces and constraints Represent as system of linear
equations Solve using matrix methods
Basic StuffSystems of linear equations
Where:A = matrix of coefficientsx = column vector of variablesb = column vector of solutions
bAx
Basic Stuff Populating matricies is a bit tricky, see [Boxerman] for a good example
Isolating the ith equation:
i
n
j
jij bxa 1
Jacobi IterationSolve for xi (assume other entries in x
unchanged):
ii
ijk
jijik
i a
xabx
)1(
)(
(Which is basically what we did a few slides back)
Jacobi IterationIn matrix form:
bDxULDx kk 1)1(1)( )(
D, -L, -U are subparts of AD = diagonal-L = strictly lower triangular-U = strictly upper triangular
Jacobi IterationDefinition (diagonal, strictly lower, strictly upper):
A = D - L - U
DLLLUDLLUUDLUUUD
Lots More Math(not covered here) I highly recommend [Shewchuk 1994] Gauss-Seidel Successive Over Relaxation (SOR) Steepest Descent Conjugate Gradient Newton’s Method (in some cases) Hessian Newton variants (Discreet, Quasi, Truncated)