470 likes | 1.04k Views
Large Steps in Cloth Simulation - SIGGRAPH 98. 박 강 수. Cloth Simulation. Issues in Cloth Simulation. Large time steps - stability Damping forces - oscillation Constraints - contact or fix conditions Solving a large sparse linear system - conjugate gradient iteration.
E N D
Issues in Cloth Simulation Large time steps - stability Damping forces - oscillation Constraints - contact or fix conditions Solving a large sparse linear system - conjugate gradient iteration
Cloth and Mass-Spring Model Discrete cloth model
Differential Equation of Spring x : geometric state vector(position) M : mass distribution matrix of cloth E : scalar function of x (internal energy) F : other forces (air-drag, damping, contact)
Simulation Overview Notation and Geometry Position of world space Forces Planer coordinate
Simulation Overview Energy and Forces Internal forces - Stretch, Shear, Bending Damping force Combining all forces
Simulation Overview Sparse Matrices Very sparse system - n particles : n x n matrix - nonzero entry : dense 3x3 matrices of scalar Modified conjugate gradient iterative method
Implicit Integration Explicit forward Euler method
Implicit Integration(cont.) Implicit backward Euler method Nonlinear, need iteration By Taylor series expansion to f, first order approximation
Implicit Integration(cont.) Implicit backward Euler method Rewrite this approximated equation,
Implicit Integration(cont.) Taking the bottom row of below equation and substituting top row yields,
Implicit Integration(cont.) Letting I denote the identity matrix, and regrouping,
Forces The force f arising from energy E Impractical approach - Expressing E as a single monolithic function - Taking derivatives Batter approach - Decompose E into a sum of sparse energy functions
Forces But decomposing method is not enough. - Sensible damping function problem Instead, we define vector condition C(x) which is, - Formulating internal behavior - To be zero Define associated energy k is a stiffness constant
Forces (Forces & Force Derivatives) Block form of f Sparse matrix Derivative matrix K Sparse, Symmetric Matrix
Forces (Stretch Forces) Stretch force UV coordinates
Forces (Stretch Forces) Stretch force can be measured by Unstretched condition
Forces (Stretch Forces) i j k Approximate w(u,v) as a linear function over each triangle,
Forces (Stretch Forces) Stretch energy Usually, we set
Forces(Shear & Bend) Shear force Bending force Idea : angle of adjacent triangles Idea : Inner product
Forces(Damping) Strong stretch force ⇔ Strong damping force ☞ Prevent oscillation Damping direction Damping strength Damping force Eq:
Forces(Damping) Differentiate the damping eq. Asymmetric, Sparse Matrix breaks symmetry, so we omitted this term.
Constraints Unsuitable approaches - Reduced Coordinates - Penalty Methods - Lagrange Multipliers
Constraints(Mass Modification) xy-plane constraint : Generalization
Constraints(Mass Modification) Rewrite previous eq. z is change in velocity along the constrained direction
Constraints(Implementation) Multiply M, Symmetric(Positive definite) These two systems have a same solution Δv.
Constraints(Implementation) W is singular Linear System Ax=b Two conditions : residual will be zero,
Collisions(Initiation) For collision detect, Coherency-based bounding-box approach is used. Penalty force(moving positions) “Jumpy” behavior in local regions.
Collisions(Position Alteration) Particle’s position in next step If collisions occur, Considering collisions,
Thank you Questions || Comments ?
Conjugate gradient Method? Isn’t there more simple ways to implement mass-spring systems?