View
237
Download
2
Category
Preview:
Citation preview
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
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
3ixn3x
3ifn3f
),( ii vu
Simulation Overview
Energy and ForcesInternal forces
- Stretch, Shear, Bending Damping forceCombining all forces
iii m/fx
),( xxfMx 1 ),,,,,,,,,()( 222111
33
nnn
nn
mmmmmmmmmdiag
M
M
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 equationand substituting top row yields,
Implicit Integration(cont.)
Letting I denote the identity matrix, and regrouping,
Forces
xf /EThe 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
)()(2
)( xCxCx Tc
kE k is a stiffness constant
Forces (Forces & Force Deriva-tives)
Block form of f
Sparse matrix
Derivative matrix K
Sparse, Symmetric Matrix
Forces (Stretch Forces)
Stretch force
u
vUV coordinates
Forces (Stretch Forces)
Stretch force can be measured by
Unstretched condition
Forces (Stretch Forces)
i
j k
ij1 xxx ik xxx 2
ij1 uuu ik uuu 2
ij1 vvv ik vvv 2
Approximate w(u,v) as a linear function over each triangle,
Forces (Stretch Forces)
Stretch energy
1 vu bbUsually, we set
Forces(Shear & Bend)
Shear force Bending force
Idea : Inner productIdea : angle of adjacent triangles
Forces(Damping)
Strong stretch force ⇔ Strong damping force☞ Prevent oscillation
Damping force Eq:
Damping direction Damping strength
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 velocityalong the constrained direction
Constraints(Implementation)
Multiply M,
Symmetric(Positive definite)
These two systems have a same solution Δv.
Constraints(Implementation)
W is singu-lar
Two conditions : residual will be zero,
Linear System Ax=b
Modified Conjugate Gradient Method
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,
Results
Results
Results
Results
Thank youQuestions || Com-
ments ?
Conjugate gradient Method?
Isn’t there more simple ways to implement mass-
spring systems?
Recommended