Bending, Breaking and Squishing Stuff

Preview:

DESCRIPTION

Bending, Breaking and Squishing Stuff. Marq Singer Red Storm Entertainment marqs@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. - PowerPoint PPT Presentation

Citation preview

Bending, Breaking and Bending, Breaking and Squishing StuffSquishing Stuff

Marq SingerMarq SingerRed Storm EntertainmentRed Storm Entertainment

marqs@redstorm.commarqs@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)

Recommended