# Advanced Topics on Clothing Simulation and Animation SIGGRAPH 2005

Document Sample

```					   SIGGRAPH 2005 Course #6:

Advanced Topics on
Clothing Simulation and Animation

Organizers:   Hyeong-Seok Ko
Kwang-Jin Choi
Lecturers:    Robert Bridson
Dongliang Zhang
A Brief History of the Course

SIGGRAPH 1998
“Cloth and Clothing in Computer Graphics”
Organized by House

SIGGRAPH 2003
“Clothing Simulation and Animation”
Organized by Breen and Ko

SIGGRAPH 2005
“Advanced Topics on Clothing Simulation and Animation”
Organized by Choi and Ko
Course Schedule

1st Session
1:45~2:00 Introduction (Ko)
2:00~3:00 Physical Model of Cloth I (Ko)
3:00~3:30 Physical Model of Cloth II (Choi)

2nd Session
3:45~4:30 Collision Handling (Bridson)
4:30~5:00 Cloth Design and Applications (Zhang)
5:00~5:30 Current State-of-the Art / Challenges Ahead (Ko)
Introduction
How Cloth Simulation Works?

Hyeong-Seok Ko
Seoul National Univ.
Graphics & Media Lab
First of All, How to Represent Cloth?

Particles interconnected by springs
Particle-based Cloth Simulation

Repeat the following:
1. Find the new position of the particles
2. Draw the surface from the particles
How Does Cloth Simulation Work?

Finding Governing Equation
Solving the Equation
Collision Handling
Finding the Governing Equation
Physically-based Simulation

−1∂E
&& = M (−
x            + F)            ⎡ x1 ⎤
∂x
⎢M ⎥
x=⎢ ⎥
(m1, x1) (m2, x2) (m3, x3)
⎢ xN ⎥
⎣ ⎦
(mi, xi)
⎡mi   0    0⎤
⎢0
Mi = ⎢     mi   0⎥ ⎥
⎢0
⎣     0    mi ⎥
⎦
Physically-based Simulation

−1  ∂E
&& = M (−
x            + F)
∂x
Solving the Equation
Now, numerically solve

−1   ∂E
&&(t ) = M (−
x                + F )(t )
∂x
while(1)    {
compute   the force part at t;
compute   accel, vel, pos;
t = t +   ∆t;
}
We want to use large ∆t

Animators love large ∆t
Large ∆t can cause inaccuracy
Large ∆t can cause a more serious problem
We must have a stable algorithm
Course Schedule
Finding the Governing Equation
1st Session              Solving the Equation
1:45~2:00 Introduction (Ko)
2:00~3:00 Physical Model of Cloth I (Ko)
3:00~3:30 Physical Model of Cloth II (Choi)

2nd Session
3:45~4:30 Collision Handling (Bridson)
4:30~5:00 Cloth Design and Applications (Zhang)
5:00~5:30 Current State-of-the Art / Challenges Ahead (Ko)
Collision Handling
Collision Handling

Consists of Detection/Resolution
Undetected collision can cause a lot of trouble.
Cloth simulation is abundant of challenging
cases for collision detection.
A difficult problem: Multiple simultaneous collisions.
Try this: simulate a person wearing multiple pieces of
clothes.

“Collision Handling” by Bridson (Session 2)
Additional Parts

1st Session
1:45~2:00 Introduction (Ko)
2:00~3:00 Physical Model of Cloth I (Ko)
3:00~3:30 Physical Model of Cloth II (Choi)

2nd Session
3:45~4:30 Collision Handling (Bridson)
4:30~5:00 Cloth Design and Applications (Zhang)
5:00~5:30 Current State-of-the Art / Challenges Ahead (Ko)
Physical Model of Cloth I

Hyeong-Seok Ko
Seoul National Univ.
Graphics & Media Lab
Physical Model of Cloth I

1.   Understanding the problem
2.   Immediate buckling model (IBM)
3.   Stability analysis of the IBM
4.   Damping analysis in clothing simulation
Understanding the Problem
What are the nontrivial parts in...

−1 ∂E
&& = M (−
x            + F)
∂x

E
What would you use for E?

∂E
−1         −1
&& = M (−
x            + F ) ≡ M f ( x, x )
&
∂x          −1
≡ M f ( x, v )
Cloth is subject to stretch, shear, bending
E = Estretch + Eshear + Ebending
What are Estretch, Eshear, Ebending?
They should be monotonic                 xi       xj
For example, Estretch = {||xi−xj||−L}2        L
E should accurately represent the property of the cloth
E should not cause problems in numerical integration
Integration of
⎛ ∂E
−1       ⎞    −1
&& = M ⎜ −
x           + F ⎟ = M f ( x, v )
⎝ ∂x     ⎠
d ⎡ x⎤ ⎡          v       ⎤
⎢ v ⎥ = ⎢ M −1f ( x, v)⎥
dt ⎣ ⎦ ⎣                  ⎦
⎡∆x ⎤      ⎡     v 0
⎤ ⎡ v ⎤   0

⎢∆v ⎥ = ∆t ⎢ −1 0 0 ⎥ ≡ ∆t ⎢ −1 0 ⎥
⎣ ⎦        ⎣ M f ( x , v )⎦ ⎣M f ⎦
Explicit Integration
We want Implicit Integration
⎛ ∂E
−1    ⎞    −1
&& = M ⎜ −
x           + F ⎟ = M f ( x, v )
⎝ ∂x     ⎠
d ⎡ x⎤ ⎡          v       ⎤
⎢ v ⎥ = ⎢ M −1f ( x, v)⎥
dt ⎣ ⎦ ⎣                  ⎦
⎡∆x ⎤      ⎡     v        ⎤ ⎡ v ⎤
0                          0

⎢∆v ⎥ = ∆t ⎢ −1 0 0 ⎥ ≡ ∆t ⎢ −1 0 ⎥
⎣ ⎦        ⎣ M f ( x , v )⎦ ⎣M f ⎦
Explicit Integration

Baraff and Witkin, Large Steps in Cloth Simulation, SIGGRAPH ‘98
We want Implicit Integration
⎛ ∂E
−1       ⎞    −1
&& = M ⎜ −
x           + F ⎟ = M f ( x, v )
⎝ ∂x     ⎠
d ⎡ x⎤ ⎡          v       ⎤
⎢ v ⎥ = ⎢ M −1f ( x, v)⎥
dt ⎣ ⎦ ⎣                  ⎦
⎡∆x ⎤      ⎡        v + ∆v
0
⎤
⎢∆v ⎥ = ∆t ⎢ −1 0                 ⎥
⎣ M f ( x + ∆x, v + ∆v)⎦
0
⎣ ⎦
⎛         −1 ∂f        −1 ∂f ⎞        −1 ⎛ 0   ∂f 0 ⎞
⎜ I − ∆tM       − ∆t M       ⎟∆v = ∆tM ⎜ f + ∆t v ⎟
2

⎝            ∂v           ∂x ⎠           ⎝     ∂x ⎠
HW 1: Derive this
Into a Schematic Equation
⎛M       ∂f    ∂f ⎞         ⎛ 0        ∂f 0 ⎞
⎜ 2−          − ⎟∆v∆t = ⎜ f + ∆t v ⎟
⎝ ∆t    ∆t∂v ∂x ⎠           ⎝          ∂x ⎠
⎛         ∂f      2 ∂f ⎞        ⎛ 0       ∂f 0 ⎞
⎜ M − ∆t     − ∆t      ⎟∆v = ∆t ⎜ f + ∆t v ⎟
⎝         ∂v        ∂x ⎠        ⎝         ∂x ⎠
⎛          −1 ∂f        −1 ∂f ⎞            −1 ⎛ 0     ∂f 0 ⎞
⎜ I − ∆tM        − ∆t M        ⎟∆v = ∆tM ⎜ f + ∆t v ⎟
2

⎝             ∂v            ∂x ⎠              ⎝       ∂x ⎠

⎛M      ⎞ n     n −1
⎜ 2 + K ⎟∆x = f
⎝ ∆t    ⎠
E can cause problems in Num. Int.

∂E
−1
&& = M (−
x            + F)
∂x
⎛         −1 ∂f        −1 ∂f ⎞        −1 ⎛ 0   ∂f 0 ⎞
⎜ I − ∆tM       − ∆t M       ⎟∆v = ∆tM ⎜ f + ∆t v ⎟
2

⎝            ∂v           ∂x ⎠           ⎝     ∂x ⎠

⎛M      ⎞ n     n −1
⎜ 2 + K ⎟∆x = f
⎝ ∆t    ⎠
Ill-conditioned or indefinite system matrix   Divergence!
Quest for a New Physical Model

Find a Physical Model

that makes K always positive definite
that produces realistic movements of cloth

⎛M      ⎞ n     n −1
⎜ 2 + K ⎟∆x = f
⎝ ∆t    ⎠
Source of the Problem

In simulating hookean model,
(compress. stiffness ≈ tens. stiffness)
σ = Eε , f = k ( x − l )
Instability occurs when cloth is bended or
compressed rather than when it is stretched
It appears that instability occurs when wrinkles
are formed
Compression/Bending,
are they Unstable Phenomena?

Yes!
“Buckling”                    P
P   P
Force : P

Compressed Length
“Buckling”                            P
P   P
Force : P

Post-buckling Instability
Compression/Bending,
are they Unstable Phenomena?

Apparently, No

Post-buckling instability passes instantly,
and reaches a static equilibrium.
Why was Compression/Bending
Unstable in Clothing Simulation?

Hookean model causes the system matrix
indefinite when compression/bending occur

⎛         −1 ∂f        −1 ∂f ⎞        −1 ⎛       ∂f ⎞
⎜ I − ∆tM       − ∆t M       ⎟∆v = ∆tM ⎜ f 0 + ∆t v 0 ⎟
2

⎝            ∂v           ∂x ⎠           ⎝       ∂x ⎠
Suggestion for a Stable Solution

Hookean model causes the system matrix
indefinite when compression/bending occur
The model works well for stretch
Suggested solution: use different physical
models for stretch and compression
Type 1 for stretching
Type 2 for compression/bending
How to Connect Springs?

Red Links = Type 1 (for stretch)
Blue Links =Type 2 (for compression and bend)
Immediate Buckling Model
How to realize...
Post-buckling instability passes instantly,
and reaches a static equilibrium.
Compression causes bending rather than shortening

Immediate Buckling Assumption
Experiment

# of particles = 5608, ∆t=0.011s, CPU=0.51s
How to implement this idea?

Compression causes bending rather than shortening

Immediate Buckling Assumption
The Steps We Took

1.   Predict the shape at the static equilibrium after
buckling
2.   Formulate the energy function from the
deformed shape
3.   Derive the force, Jacobian, etc.
Predicting the Static Equilibrium
Predicting the Static Equilibrium
Momentum Equilibrium Equation
kbκ + Py = 0

P/kb = 23.5
P/kb = 35.25

Equilibrium shape is similar to a circular arc.
Simplifying Assumptions
Equilibrium shape = circular arc
Arc length remains constant

L

L

X

Equilibrium shape is completely characterized
when xi and xj are given.
Energy Function in terms of xij=xj-xi
1 L
The energy function     E = ∫ Mκ dx
2 0
1
Since M∝κ & curvature is constant          E = k b Lκ 2

2
Since arc length is constant               ⎛ xij ⎞
κ = sinc -1 ⎜     ⎟
2
L        ⎜ L ⎟
⎝     ⎠
2
⎡2        ⎛ xij ⎞ ⎤
E = kb L ⎢ sinc -1 ⎜     ⎟ ⎥
1
2     ⎢L        ⎜ L ⎟ ⎥
⎣         ⎝     ⎠ ⎦
The Steps We Took

1.   Predict the shape at the static equilibrium after
buckling
2.   Formulate the energy function from the
deformed shape
3.   Derive the force, Jacobian, etc.

⎛         −1 ∂f        −1 ∂f ⎞        −1 ⎛ 0   ∂f 0 ⎞
⎜ I − ∆tM       − ∆t M       ⎟∆v = ∆tM ⎜ f + ∆t v ⎟
2

⎝            ∂v           ∂x ⎠           ⎝     ∂x ⎠
2
⎡2        ⎛ xij ⎞ ⎤
E = kb L ⎢ sinc -1 ⎜     ⎟ ⎥
1
Force Derivation                          2     ⎢L        ⎜ L ⎟ ⎥
⎣         ⎝     ⎠ ⎦

∑ f (x ) x
∂E                             xij
fi = −      =                               ,
∂x i
b    ij
j∈Ν ( i )              ij
The Force-Deflection Curve Finally Used

*     (       )        (
⎧cb xij − L : f b < cb xij − L
f =⎨
)
b
⎩        f b : otherwise
New Force-Displacement Curve

Force : P

Compressed Length
∂f i
Meaning of the Force Jacobian
∂x j
∂ ∑ f ik
∂f i              ∂f ij
=   k∈Ν
=       HW 2: Why?
∂x j     ∂x j     ∂x j
The rate of change of fi as xj changes

∂f i          ∂fij
= −∑            HW 3: Why?
∂x i    j ≠ i ∂x j

The rate of change of fi as xi changes

Stiffness!
Derivation of Force Jacobian

∂f i      *      T     *             T
df x x     f         x x
=          +      (I −
b    ij ij   b           ij ij
)
∂x j d x ij x x
T
x ij
ij ij         x x   T
ij ij

HW 4: Derive this
We can Start Implicit Integration

⎛        −1 ∂f      −1 ∂f ⎞       −1 ⎛      ∂f ⎞
⎜ I − hM       −h M       ⎟∆v = hM ⎜ f 0 + h v 0 ⎟
2

⎝           ∂v         ∂x ⎠          ⎝      ∂x ⎠

For now, forget about the damping term.

⎛        −1 ∂f ⎞       −1 ⎛      ∂f ⎞
⎜I − h M       ⎟∆v = hM ⎜ f 0 + h v 0 ⎟
2

⎝           ∂x ⎠          ⎝      ∂x ⎠
Stability Analysis of
Immediate Buckling Model
∂f
Property of the Force Jacobian
∂x
⎛          −1 ∂f ⎞        −1 ⎛       ∂f ⎞
⎜ I − ∆t M       ⎟∆v = ∆tM ⎜ f 0 + ∆t v 0 ⎟
2

⎝             ∂x ⎠           ⎝       ∂x ⎠

∂f i        *      T      *           T
df x x     f         x x
=          +      (I −
b    ij ij    b         ij ij
)
∂x j d x ij x x T
x ij
ij ij       x x    T
ij ij

What is the property of this 3×3 matrix?
What is the property of the global 3n×3n matrix?
T
x x
The Properties of                          A=
ij ij
T
x x
ij ij

T
xij xij
det(       T
− λI ) = λ2 (1 − λ )        HW 5: Prove it
x xij
ij

T
x x
∴
ij ij
T
is positive definite.
x x
ij ij

T
x xij ij
T
z produces the projection of z along xij
x xij ij
HW 6: Verify this
T
x x
I−           =I−A
ij ij
The Properties of                  T
x x
ij ij

⎛         T
xij xij   ⎞
⎜I −           ⎟ is positive definite.
⎜     T
xij xij   ⎟
⎝              ⎠                  HW 7: Why?

⎛    xij xij ⎞
T
⎜I −         ⎟ z produces the projection of z
⎜    xij xij ⎟
T
⎝            ⎠
on a plane orthogonal to xij       HW 8: Verify this
They Work as Projection Operators

∂f i               *           T             *             T
df x x           f         x x
dx j =            dx j +      (I −
b         ij ij           b           ij ij
)dx j
∂x j        d x ij x x
T
x ij
ij ij       x x             T
ij ij

new x j

xi
xj
df b*                               f b*
= in-plane stiffness               = out-of-pl stiffness
d xij                               x ij
Property of the Jacobian

∂f i             *      T     *      T
df x x     f         x x
=          +      (I −
b    ij ij   b    ij ij
)
∂x j d x ij x x      T
x ij
ij ij  x x   T
ij ij

df b*
is positive.
d x ij
*
f
But x is negative.
b

ij

So the sum is not definite
If 2nd term is omitted, it becomes pos. def.
Property of the Jacobian

∂f i             *      T
df x x
=          b    ij ij
∂f ⎞                    ∂f ⎞
∂x j d x ij x x      T
ij ij
⎛
⎜
⎛
I − ∆t 2 M −1 ⎟∆v = ∆tM −1 ⎜ f 0 + ∆t v 0 ⎟
⎝              ∂x ⎠          ⎝         ∂x ⎠
df b*
is positive.
d x ij
*
f
But x is negative.
b

ij

So the sum is not definite
If 2nd term is omitted, it becomes pos. def.
What is the effect of it?
Is the global matrix negative definite?
Is the Global Matrix Neg. Def.?
⎡ ∂f1    ∂f1        ∂f1 ⎤ ⎡−        ∂f1      ∂f1             ∂f1 ⎤
⎥ ⎢ ∑ ∂x j
L                                       L
⎢ ∂x     ∂x 2       ∂x n                    ∂x 2            ∂x n ⎥
⎢ 1                      ⎥   ⎢ j ≠1                                   ⎥
⎢ ∂f 2   ∂f 2       ∂f 2 ⎥ ⎢ ∂f 2                ∂f 2        ∂f 2 ⎥
∂f                   L                         −∑            L
= ⎢ ∂x1    ∂x 2       ∂x n ⎥ = ⎢ ∂x1         j ≠ 2 ∂x j       ∂x n ⎥
∂x ⎢
M      M     O    M ⎥ ⎢   ⎢    M            M        O      M
⎥
⎥
⎢ ∂f     ∂f n       ∂f n ⎥ ⎢ ∂f n            ∂f n                ∂f n ⎥
⎢ n             L        ⎥                              L −∑
⎢ ∂x1
⎣        ∂x 2       ∂x n ⎥ ⎢ ∂x1
⎦ ⎣                ∂x 2           j ≠ n ∂x j ⎥
⎦

Yes

HW 9: Prove it.
What is the meaning of Omitting the
Second Term?

∂f i        *      T
df x x
=     b    ij ij

∂x j d x ij x x T
ij ij
dx j      not counted
L

counted

Does it mean ignoring the orthogonal component?
No.
Remember, ∂f/∂x was introduced for implicit integration
∂f/∂x
In Global Implicit Integration...
⎛        −1 ∂f ⎞       −1 ⎛      ∂f ⎞
⎜I − h M       ⎟∆v = hM ⎜ f 0 + h v 0 ⎟
2

⎝           ∂x ⎠          ⎝      ∂x ⎠
Looking at the i-th row
⎡M M                                                                   ⎡ ∆v ⎤
M         M      M           M          M            M M⎤ ⎢ 1 ⎥
⎢                ∂f               ∂f                      ∂f i       ⎥ ∆v
LHS = ⎢0 L − h 2 M i−1 i L I − h 2 M i−1 i     L − h 2 M i−1           L 0⎥ ⎢ 2 ⎥
⎢               ∂x j1             ∂x i                   ∂x jN       ⎥⎢ M ⎥
⎢M M
⎣           M         M      M           M          M            M M ⎥ ⎢∆v n ⎥
⎦⎣      ⎦
⎛               −1 ∂f i ⎟
⎞               −1 ∂f i
= ⎜ I + ∑ h Mi  2
∆v i − ∑ h M i
2
∆v j
⎜                  ∂x j ⎟                   ∂x j
⎝     j ≠i               ⎠        j ≠i

⎛      n
∂f i      ⎞
RHS = hM i f 0i + ∑ h
−1 ⎜
v0 j ⎟
⎜            ∂x j      ⎟
⎝     j =1             ⎠
Comparison with Explicit Method

∆vi = hM i−1f i0      Explicit

⎛                        ⎞                                   ⎛                     ⎞
⎜ I + ∑ h 2 M i−1 ∂f i                     ∂f i                         ∂fi
n
⎟∆v i − ∑ h M i
2 −1
∆v j = hM i f 0i + ∑ h
−1 ⎜
v0 j ⎟
⎜                 ∂x j   ⎟                 ∂x j              ⎜          ∂x j       ⎟
⎝     j ≠i               ⎠       j ≠i                        ⎝     j =1            ⎠
Implicit

In LHS, every term except ∆v i is introduced due
to using implicit integration
It produces implicit filtering effect
Desbrun, M., Schröder, P., and Barr, A. 1999.
Interactive animation of structured deformable objects.
In Proceedings of the 1999 Conference on Graphics interface '99
If 2nd Term of ∂fi/∂xj is Omitted...
⎛                       ⎞
−1 ∂f i ⎟                   −1 ∂f i
⎜ I + ∑ h Mi
⎟ i ∑
LHS =              2
∆v − h M i   2
∆v j
⎜                  ∂x j ⎠                        ∂x j
⎝     j ≠i                        j ≠i

⎛                       ⎞
−1 ∂f i ⎟                                 −1 ∂f i
= ⎜ I + ∑ h Mi 2
(∆v i + ∆v i ) − ∑ h M i
p       o              2
(∆v p + ∆v oj )
⎜                       ⎟
∂x j ⎠                                    ∂x j
j
⎝     j ≠i                                     j ≠i

⎛                  ⎞ p
−1 ∂f i ⎟                       −1 ∂f i
⇒ ∆v i +    ⎜ ∑ h Mi
2
∆v i − ∑ h M i 2
∆v p
⎜ j ≠i        ∂x j ⎟                          ∂x j
j
⎝                  ⎠          j ≠i

⎛      n
∂fi       ⎞
RHS = hM i f 0i + ∑ h
−1 ⎜
v0 j ⎟
⎜          ∂x j      ⎟
⎝     j =1           ⎠
⎛       n
∂f i                   ⎞         ⎛       n
∂f i p ⎞
= hM i f 0 i + ∑ h
−1 ⎜
( v 0 j + v 0 j ) ⎟ ⇒ hM i f 0 i + ∑ h
p       o            −1 ⎜
v0 j
⎜           ∂x j                   ⎟         ⎜           ∂x j
⎝      j =1                        ⎠         ⎝      j =1           ⎠
So, What is the Effect?

The force in the orthogonal direction is not
affected by implicit filtering.

Thus, the force in the orthogonal direction
is in fact integrated by explicit method
What happens to Stability?

By the omission, the system matrix is
positive definite

However, since the method is now not fully
semi-implicit, stability is not guaranteed
semi-implicit,
If the orthogonal force is small compared to
stretch force, there is little possibility system will
diverge
How large is the orthogonal force?
When is the Ortho Force Generated?
More Probable Scenario

When a compressive force is applied to two
consecutive links
Each link will immediately start to bend
However, at the center, an orthogonal force may be
generated due to this compression
More Probable Scenario

When a compressive force is applied to two
consecutive links
Each link will immediately start to bend
However, at the center, an orthogonal force may be
generated due to this compression
The force can be large when the mesh resolution is high
(high res. is bad!)
The force can be large when the material’s stiffness is
material’s
large
Is there any other Scenario?

We are not sure
But based on our experiments, previous case is
probably the most probable scenario that can
possibly produce divergence.
Stability Analysis of
Immediate Buckling Model

We cannot say it is unconditionally stable.

Artificial cases can be set up to create instabilities

But we did not meet any instabilities in practical cases
Physical Model of Cloth II

Kwang-Jin Choi

FXGear Inc.
Physical Model of Cloth II

Analysis on Damping used in Clothing Simulation
How Damping Affects Cloth Animation?
No damping   With some damping   Excessive damping
When Implicit Integration is Used…
⎛        ∂f      2 ∂f ⎞ ∆v   ⎛         ∂f ⎞
⎜ M − ∆t    − ∆t      ⎟    = ⎜ f 0 + ∆t v 0 ⎟ (implcit)
⎝        ∂v        ∂x ⎠ ∆t ⎝           ∂x ⎠
∆v
M      = f0 ,            (explicit)
∆t

Implicit Filtering Artificial Damping Force

It creates artificial damping.

Desbrun, M., Schröder, P., and Barr, A. 1999.
Interactive animation of structured deformable objects.
In Proceedings of the 1999 Conference on Graphics interface '99
Results with Artificial Damping
∆t = 1        sec
90
AD does not hurt the simulation very
much
Even 1/30 shows no excessive damping

Typically used time step size
1/48 ~ 1/300
Because of collision resolution

In most cases, extra damping needs
to be added
Viscous Damping (Drag Force)
f + = −k d v

⎛                  2 ∂f ⎞ ∆v           ∂f
⎜ M + ∆tk d I − ∆t      ⎟    = f 0 + ∆t v 0
⎝                    ∂x ⎠ ∆t           ∂x

Push all the eigen values toward positive direction

Condition number gets closer to 1
Faster convergence
Viscous Damping (Drag Force)
f + = −k d v

Drag

No drag
A Better Drag Force (Air Drag)
( )−
f = −k d A(n vv n v wind ) )n
T

n

A                               v - v wind
A Better Drag Force (Air Drag)
f = −k d A(n ( v − v wind ) )n
T

Air
Drag

Viscous
Drag
A Better Drag Force (Air Drag)
f = −k d A(n ( v − v wind ) )n
T

Air
Drag

No
Drag
Deformation Rate Damping
Damp the deforming motion, not the rigid motion

f ij = −k d ( v i − v j )
j4
jn   f i = ∑ f ij
j3             i                   j∈N

j1        ∂f i
j2
= kd I
∂v j
∂f i
= − k d nI
∂v i
Deformation Rate Damping
f ij = − k d ( v i − v j )

⎛        ∂f      2 ∂f ⎞ ∆v           ∂f
⎜ M − ∆t    − ∆t      ⎟    = f 0 + ∆t v 0
⎝        ∂v        ∂x ⎠ ∆t           ∂x

∂f
has zero eigenvalue for rigid translation
∂v
⇒ no dragging
Comparison to Drag Force
f ij = −k d ( v i − v j )   fi = −k d v i
Comparison with Different kd’s
f ij = −k d ( v i − v j ) f ij = −k d ( v i − v j )

small k d                                                         large k d
What about Rotation?
f ij = − k d ( v i − v j )
vj

xi                            xj

vi
The above force damps all the relative motions
between particle i and j
We want to damp only the motion in spring
direction (xi-xj)
-x
Damped Spring
T
x ij x ij
f ij = −k d       T
(vi − v j )
x ij x ij
vj

xi                                xj

vi
Minimal damping to rotation
Damping to bending and stretching can be
decoupled
Comparison
T
x ij x ij
f ij = −k d ( v i − v j )   f ij = −k d       T
(vi − v j )
x ij x ij
More General Deformation Rate
Damping
Define deformation       D = (| x i − x j | − L) = (| x ij | − L)
∂D      x ij
Get the deforming direction         =
∂x ij | x ij |
T
⎛ ∂D         ⎞ dx ij x ij      T
Get the deformation rate
D=⎜
&              ⎟      =      v ij
⎜ ∂x         ⎟ dt | x |
⎝ ij         ⎠          ij

Damp the deformation to the deforming direction
T
∂D ⎛ ∂D            ⎞                       T
∂D &                 ⎜            ⎟ v ij = −k d
x ij x ij
f ij = −k d       D = −k d                                              v ij
∂x ij          ∂x ij ⎜ ∂x ij
⎝
⎟
⎠             | x ij |  2

Baraff and Witkin, Large Steps in Cloth Simulation, SIGGRAPH ‘98
Putting All Together

⎛ ∂c i   ⎛ ∂c   i
⎞ ⎞
T

f damp   = −kd ∑ ⎜        ⎜
⎜ ∂x
⎟ v ⎟ − k a nnT ( v − v wind )
⎟ ⎟
⎜ ∂x
i
⎝        ⎝          ⎠ ⎠

T
∂f   damp
∂c  i
⎛ ∂c     i
⎞
= −kd ∑         ⎜
⎜ ∂x
⎟ − k a nnT
⎟
∂v              i ∂x      ⎝            ⎠
Putting All Together
Course Schedule

1st Session
1:45~2:00 Introduction (Ko)
2:00~3:00 Physical Model of Cloth I (Ko)
3:00~3:30 Physical Model of Cloth II (Choi)

2nd Session
3:45~4:30 Collision Handling (Bridson)
4:30~5:00 Cloth Design and Applications (Zhang)
5:00~5:30 Current State-of-the Art / Challenges Ahead (Ko)
Current State-of-the-Art
and Challenges Ahead

Hyeong-Seok Ko
Seoul National Univ.
Graphics & Media Lab
Would it be Possible?
Source of Frustrations

Poor collision handling
Allowed only regular, rectangular grids
Not practical for creating complex garments

Garments had to be constructed from 2D patterns
Not practical for 3D animation purpose

Few Controls
Collision Handling 2005
Collision Test
Collision Test

# of vertices   Animation Length   Computation Time

6029            20 sec            31.5 mins
Self-Collision Test
Simulation Statistics

0.1m X 50m cloth
28,007 vertices
15 hours
Collision Handling in 3 Pieces
Garment Construction 2005
Unstructured Triangular Mesh
Construction from 2D Patterns
Construction from 3D Modeling
Construction from 3D Modeling
Construction from 3D Modeling
Other Controls 2005
Wrinkle Map
Rubber Map
Rubber Map
Effect of Buttons
Wind Fields
How Far can it Go?
Reconstruction of the Clothes
Reconstruction of the Clothes
The Simulation
The Simulation

Original Stiffness   Intentional Modification
Now, We may call it a “Fashion”
Challenges Ahead
Physical Model and Simulation
Modeling nonlinear and hysteretic properties
Exploring the continuum approach
Increasing the fidelity of simulated cloth
Increasing algorithm speed while maintaining reasonable
quality

Collision Resolution
Rapid collision detection
Accurate collision detection
Robust collision response generation
Thank You

```
DOCUMENT INFO
Shared By:
Categories:
Stats:
 views: 45 posted: 7/6/2011 language: English pages: 121