240 likes | 369 Views
Interactive Animation of Structured Deformable Objects. Mathieu Desbrun Peter Schroder Alan Barr. Overview – Main problem. Few techniques are currently able to handle the animation in interactive rates so far Both efficiency and stability are desired. Overview.
E N D
Interactive Animation of Structured Deformable Objects Mathieu Desbrun Peter Schroder Alan Barr
Overview – Main problem • Few techniques are currently able to handle the animation in interactive rates so far • Both efficiency and stability are desired
Overview • A stable and efficient algorithm for animating mass-spring system based cloth • Focus is the cloth modeling and the interaction between cloth and different environments based on this technique
Overview - Outline • Principle of implicit integration • Integration scheme • Post-step modification • Cloth simulation in virtual environment • Results
Implicit integration – 1D • Each discrete mass point i of mass m at position xi moves at speed of vi • Adjacent points are connected by spring of stiffness k • Superscript indices indicate the current step number
Implicit integration – 1D • The explicit Euler integration looks like • Assuming the force Fi is constant over a time step
Implicit integration – 1D • The time step should be inversely proportional to the square root of the stiffness k [Courant condition] • System is stable only for small time steps
Implicit integration – 1D • The implicit integration is • Replacing the forces at time t by for forces at time t+dt
Implicit integration – 1D • How to compute Fn+1 without knowing the exact position of next time step? • By a first-order approximation
Implicit integration – 1D • Notice • H is the negated Hessian matrix of the system • H is CONSTANT (for 1D case) and symmetric
Implicit integration – 1D • Re-write • Put everything together • Then we have
Implicit integration - Comparison • Extra force added to Fn as • It’s used as artificial viscosity: a mass point is influenced by the motion of its neighbors • It’s proportional to dt and k
Implicit integration – Comparison • Where acts like ‘filters’ • The bigger the stiffness k is, the wider filters are. The resulting force on a mass point will take into account more forces around
Integration Scheme - Extension • Extension 1D to 2D/3D • A mass point i is connected to all the other points j with springs of rest length and stiffness kij
Integration Scheme - Extension • H is not CONSTANT any more, instead • It’s a 3n x 3n matrix and needs to be solved at each time step
Integration Scheme - Splitting • By decomposing the forces into 2 parts, a linear and a nonlinear one: • Do approximate integration of two parts
Integration Scheme – Linear part • From above analysis, it’s easy to solve this linear part cause the 3n x 3n Hessian matrix H is CONSTANT
Integration Scheme – Nonlinear part • The nonlinear part always has the same magnitude between t and t+dt, which means it only rotates • An angle error is introduced, which needs to be balanced with a straightforward displacement later
Integration Scheme – Nonlinear part • After the internal forces have been filtered, compute resulting global torque T as • xG is the center of gravity. Because the sum of all internal forces is 0, re-write T as
Integration Scheme – Nonlinear part • T is supposed to be 0, so we can modify the integration output to balance it. Simply add the correction force on each mass point i • This is not a zero-error scheme. In practice the result becomes implausible only for big k or dt: wrinkled mesh
Post-step Modification - Motivation • Mass-spring is not perfect to model cloth • The elongation is proportional to the force applied but the natural force/deformation curve is normally nonlinear
Post-step Modification – Implementation • A force/deformation ratio threshold for each spring as dmax. Iterate over stretched spring and shrink them • When to stop? • After fixed iteration steps • Time is up