Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling...

22
1 1 M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester 02/03 Movie 2 M Teschner - Deformable Modeling ETH Zurich Deformable Objects deformable mass-spring system 1. Discretization of an object into mass points 2. Representation of forces between mass points with springs 3. Computation of the dynamics Movie Movie Teschner 3 M Teschner - Deformable Modeling ETH Zurich Outline Motivation Model Components Mass Points Springs Forces Computation of the Dynamic Behavior Explicit Numerical Integration Implicit Numerical Integration Higher-Order Numerical Integration Stability and Performance Aspects Performance Time and Space Adaptive Sampling Damping Force-Deformation Relationship Model Topology 4 M Teschner - Deformable Modeling ETH Zurich Virtual Clothing • Simulation of cloth based on deformable surfaces (polygonal mesh) • Realistic simulation of cloth with different fabrics such as wool, cotton or silk for garment design Thalmann Strasser Baraff

Transcript of Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling...

Page 1: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

1

1M Teschner - Deformable Modeling

ETH Zurich

Modeling Dynamic Deformationwith Mass Points and Springs

Matthias TeschnerSeminar – Wintersemester 02/03

Movie

2M Teschner - Deformable Modeling

ETH ZurichDeformable Objects

deformable mass-spring system

1. Discretization of an object into mass points

2. Representation of forces between mass points with springs

3. Computation of the dynamics

Movie

Movie

Teschner

3M Teschner - Deformable Modeling

ETH ZurichOutline

MotivationModel Components

Mass PointsSpringsForces

Computation of the Dynamic BehaviorExplicit Numerical IntegrationImplicit Numerical IntegrationHigher-Order Numerical Integration

Stability and Performance AspectsPerformanceTime and Space Adaptive SamplingDampingForce-Deformation RelationshipModel Topology

4M Teschner - Deformable Modeling

ETH ZurichVirtual Clothing

• Simulation of cloth based ondeformable surfaces(polygonal mesh)

• Realistic simulation of cloth withdifferent fabrics such as wool,cotton or silk for garment design

Thalmann

Strasser

Baraff

Page 2: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

2

5M Teschner - Deformable Modeling

ETH ZurichVirtual Clothing

ThalmannMIRALab

6M Teschner - Deformable Modeling

ETH ZurichVirtual Clothing

ChoiSeoul National University

7M Teschner - Deformable Modeling

ETH ZurichFacial Animation

• Simulation of facial expressions based on• deformable surfaces• deformable volumes• muscles

• Animation of face models from speechand mimic parameters

Terzopoulos

Thalmann

8M Teschner - Deformable Modeling

ETH ZurichMedical Simulation

• Simulation of deformable soft tissue• Surgical planning• Medical training• Swiss NCCR Co-Me www.co-me.ch

Prediction of the surgical outcomein craniofacial surgery

Virtualendoscopy

Kuehnapfel Laparoscopic (endoscopic) simulation Szekely

Teschner

Page 3: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

3

9M Teschner - Deformable Modeling

ETH ZurichArtificial Life

Terzopoulos

• Simulation of systems consisting of• sensors for perception• behavioral rules• physically-based representation

of motor functions

10M Teschner - Deformable Modeling

ETH ZurichGames

NiederbergerGross

• Deformable structures are challenging for computer games

MuellerNovodex

11M Teschner - Deformable Modeling

ETH ZurichOutline

MotivationModel Components

Mass PointsSpringsForces

Computation of the Dynamic BehaviorExplicit Numerical IntegrationImplicit Numerical IntegrationHigher-Order Numerical Integration

Stability and Performance AspectsPerformanceTime and Space Adaptive SamplingDampingForce-Deformation RelationshipModel Topology

12M Teschner - Deformable Modeling

ETH ZurichMass Points

class POINT{

public:float mass;float position[3];

. . .}

Page 4: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

4

13M Teschner - Deformable Modeling

ETH ZurichElastic Springs

Elasticity: Ability of a spring to return to its initial form when the deforming force is removed.

Fl

L

Spring stiffness is characterized by kInitial spring length LCurrent spring length l

Deformation linear proportional to force:

( )lLkF −= Hooke’s law

14M Teschner - Deformable Modeling

ETH ZurichElastic Springs

class SPRING{ public:POINT *point1;POINT *point2;float stiffness; // kfloat initialLength; // Lfloat currentLength; // l

. . .}

15M Teschner - Deformable Modeling

ETH ZurichForces at Mass Points

Internal forces External forcesintFextF

• Gravity• All forces, which are

not caused by springs

Resulting force at point i

exti

intii FFF +=

0x

3x

2x

1x

{ }( )

0i

0i0i

int0 xx

xxxxF

−−−−= ∑

∈i

iii Lk3,2,1|

11,kL

22 ,kL

33,kL

16M Teschner - Deformable Modeling

ETH Zurich

class POINT{

public:float mass;float position[3];

float velocity[3];float force[3];int *adjacentSpring; // List of adjacent springs

. . .}

Mass Points

Page 5: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

5

17M Teschner - Deformable Modeling

ETH ZurichModel - Summary

• Discretization of an object into mass points• Definition of the connectivity

(topology, adjacencies of mass points)• Model parameters:

• Points: mass, initial position, velocity• Springs: stiffness, initial length• Definition of external forces (gravity)

18M Teschner - Deformable Modeling

ETH Zurich

MotivationModel Components

Mass PointsSpringsForces

Computation of the Dynamic BehaviorExplicit Numerical IntegrationImplicit Numerical IntegrationHigher-Order Numerical Integration

Stability and Performance AspectsTime and Space Adaptive SamplingDampingForce-Deformation RelationshipModel Topology

Outline

19M Teschner - Deformable Modeling

ETH ZurichStatic Equilibrium

System of mass points ( )TxxX 10,=

( )( )0101

01int0 xx

xx

xxF −

−−−

=L

kL

0x

1x

( ) ( )

( ) ( )

−−−

−−−

−−−

−−

−−

−=−1

0

01

01

01

01

01

01

01

01

x

x

xx

xx

xx

xxxx

xx

xx

xx

KXL

kL

k

Lk

Lk

extint FKXF =−=Static Equilibrium:

20M Teschner - Deformable Modeling

ETH ZurichFrom Statics to Dynamics

Motion equation for a system of mass points

( ) ( ) ( )t(t)dt

td

dt

td extFKXX

DX

M +=+2

2

extFKX =− ( )t(t) extFKX +=0

Consideration of dynamics

( ) ( )t(t)dt

td extFKXX

M +=2

2

Incorporation of damping

Page 6: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

6

21M Teschner - Deformable Modeling

ETH ZurichMass-Point Dynamics

( ) ( )i

ii Fxx =+dt

td

dt

tdmi γ

2

2

Motion equation for mass point at time point i t

• second-order differential equation• Newton’s equation or motion equation in Langrange form• force F is used for acceleration and damping • simplified form ma = F if damping is neglected

mass position dampingcoefficient force at mass point

damping forcelinear proportionalto velocity (Stokes friction)

acceleration force

22M Teschner - Deformable Modeling

ETH ZurichRewriting the Problem

Reduction of an second-order differential equationto two coupled first-order differential equations.

( ) ( )i

ii Fxx =+dt

td

dt

tdmi γ

2

2

( ) ( )tdt

tdi

i vx =

( ) ( ) ( )im

tt

dt

td iii vFv γ−=

velocity acceleration

23M Teschner - Deformable Modeling

ETH ZurichExample

( ) ( ) ( ) ( )im

tttt i

exti

inti vFF

aγ−+=

time

extF a

extFintFvγ−

a

extF

intF

vγ−

a

extF

intF

vγ−

a extF

intF

24M Teschner - Deformable Modeling

ETH ZurichProblem

( ) ( )tdt

tdi

i vx =

( ) ( ) ( )im

tt

dt

td iii vFv γ−=

Goal: Computation of position x over time.

We have: Initial position xInitial velocity vDerivative of position x with respect to time.Derivative of velocity v with respect to time.

Page 7: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

7

25M Teschner - Deformable Modeling

ETH ZurichExplicit Numerical Integration

t

f(t)

t0 +ht0

• Initial value f(t0)• Compute the derivative at t0

• Move from t0 to t0 +husing the derivative at t0

Error O(h2)Leonard Euler:1707 (Basel) – 1783 (Petersburg)

Euler Method

26M Teschner - Deformable Modeling

ETH ZurichEuler Method

( ) ( )tt vx =' ( ) ( ) ( )m

ttt

vFv

γ−='

( ) 00 xx =t ( ) 00 vv =tStart with initial values

Compute ( ) ( )00 '' tt xv

Assume ( ) ( ) ( ) ( ) httttttt +≤≤== 0000 '''' xxvv

Compute

( ) ( ) ( ) ( ) ( ) ( )m

tthtththt 00

0000 'vF

vvvvγ−+=+=+

( ) ( ) ( ) ( ) ( )00000 ' thtththt vxxxx +=+=+

Compute

( F(t) is computed from x(t) and external forces! )

27M Teschner - Deformable Modeling

ETH Zurich

class POINT{

public:float mass;float position[3];float velocity[3];float force[3];float damping;int *adjacentSpring;

void internalForces();void addExternalForces(float extForce[3]);void velocityEuler(float timeStep);void positionEuler(float timeStep);

}

Mass Point

28M Teschner - Deformable Modeling

ETH ZurichCoupled Differential Equations

( ) ( ) ( ) ( )m

tththt 00

00

vFvv

γ−+=+( ) ( ) ( )000 ththt vxx +=+

( ) ( )tt vx =' ( ) ( ) ( )m

ttt

vFv

γ−='

( ) ( ) ( )hthhtht +++=+ 000 2 vxx

( ) ( ) ( ) ( )m

hththhtht

+−+++=+ 0000 2

vFvv

γ

Euler step from t0 to t0+h

Next Euler step from t0+h to t0+2h

Page 8: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

8

29M Teschner - Deformable Modeling

ETH ZurichProblems

(Taylor series)( ) ( ) ( ) ( )2' hOhtftfhtf ++=+

Inaccuracy can cause instability.

Numerical integration is inaccurate.

Euler step Error

t

f(t)

h

)("2

02

htfh

e +⋅<≤

Error

30M Teschner - Deformable Modeling

ETH Zurich

• No general solution to avoid instabilityfor complex mass-spring systems.

• A smaller time step increasesthe chance for stability.

• A larger time step speeds upthe simulation.

• Parameters and topology of the mass-spring system, and external forces influence the stability of a system.

Avoiding Instability ?

31M Teschner - Deformable Modeling

ETH ZurichMass-Point Dynamics - Summary

Motion equation fordamped movement

( ) ( )tdt

tdi

i vx =

( ) ( ) ( )im

tt

dt

td iii vFv γ−=

Initial values for velocity v and position x

Numerical integration of v and x through time

Euler method to get from time t0 to t0+h ( ) ( ) ( ) ( )

m

tththt 00

00

vFvv

γ−+=+

( ) ( ) ( )000 ththt vxx +=+

Accuracy, stability, and performance are dependent on time step h.Larger time step is desired for better performance. Smaller time step can be required for stability.

32M Teschner - Deformable Modeling

ETH ZurichImproving the Accuracy 1 – Leap-Frog

)()2/()2/( thhtht avv ⋅+−=+

)2/()()( hththt +⋅+=+ vxx

Euler

...addForces(); //F(t)positionEuler(h); //x=x(t+h)=x(t)+hv(t)velocityEuler(h); //v=v(t+h)=v(t)+ha(t)...

Error O(h3)time step h is significantlylarger compared to expl. Euler

Leap-Frog

initV() // v(0) = v(0) – h/2a(0)

...addForces(h); //F(t)velocityEuler(h); //v=v(t+h)=v(t)+ha(t)positionEuler(h); //x=x(t+h)=x(t)+hv(t+h)...

Page 9: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

9

33M Teschner - Deformable Modeling

ETH ZurichImproving the Accuracy 2

Euler Method

t

f(t)

t0 +ht0

• Compute the derivative at t0

• Move from t0 to t0 +husing the derivative at t0

Error O(h2)

Runge-Kutta Method

t

f(t)

t0 +ht0 +h/2t0

1

2a

2b

• Compute the derivative at t0

• Move to t0 +h/2• Compute the derivative at t0 +h/2• Move from t0 to t0 +h

using the derivative at t0 +h/2

Error O(h3)

34M Teschner - Deformable Modeling

ETH Zurich

Second-Order Runge-Kutta Method (Midpoint Method)

( ) ( )tt vx =' ( ) ( ) ( )m

tttt

vFvxa

γ−=)(),(

)(tvk1 =

( ) ( )( )tt vxal1 ,=

2)(

ht 12 lvk +=

( )

+= 212 kkxal ,

2

ht

( ) 2kxx htht +=+ )(

( ) 2lvv htht +=+ )(

Compute v at t

Compute a at t

Compute v at t+h/2 (the midpoint)

Compute a at t+h/2 with x and v at t+h/2

Compute x at t+h with its velocity at t+h/2

Compute v at t+h with the acceleration at t+h/2

Carl Runge: 1856 (Bremen) – 1927 (Goettingen)Wilhelm Kutta:1867 (Pitschen) – 1944 (Fuerstenfeldbruck)

35M Teschner - Deformable Modeling

ETH ZurichComparison

Euler Method Runge-Kutta Method

• One computation of thederivative per time step

• Error O(h2)

• Two computations of thederivative per time step

• Error O(h3)

• Allows larger time steps

• Accuracy of Runge-Kutta per time step is higher.• Computational complexity similar if time step

for Runge-Kutta is twice the time step for Euler.• Does Runge-Kutta really allow faster

simulations of mass-spring systems? )(0 )( xf

n

he n

n

⋅<≤

36M Teschner - Deformable Modeling

ETH ZurichFourth-Order Runge-Kutta Method

t

f(t)

t0 +ht0

• Compute the derivative at t0 (1)• Move from t0 to t0 +h/2

using the derivative at t0 (1)• Compute the derivative at t0 +h/2 (2) • Move from t0 to t0 +h/2

using the derivative at t0 +h/2 (2)• Compute the derivative at t0 +h/2 (3)• Move from t0 to t0 +h

using the derivative at t0 +h/2 (3)• Compute the derivative at t0 +h (4)• Compute a weighted average

of all derivates (1) – (4)and use this value to move from t0 to t0 +h

Error O(h5)

t0 +h/2

1

2

3

4

Page 10: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

10

37M Teschner - Deformable Modeling

ETH ZurichFourth-Order Runge-Kutta Method

)(tvk1 =

( ) ( )( )tt vxal1 ,=

2)(

ht 12 lvk +=

( )

+= 212 kkxal ,

2

ht

( ) ( )4321 kkkkxx ++++=+ 226

)(h

tht

( ) ( )4321 llllvv ++++=+ 226

)(h

tht

2)(

ht 23 lvk +=

( )

+= 323 kkxal ,

2

ht

ht 34 lvk += )(

( )( )434 kkxal ,ht +=

• Four computations of thederivative per time step

• Error O(h5)

• Allows even larger time steps

38M Teschner - Deformable Modeling

ETH ZurichImplementation

Euler Method

Runge-Kutta Method

• Straightforward• Compute spring forces• Add external forces• Update positions• Update velocities

• Compute spring forces • Add external forces• Compute auxiliary positions and velocities

• requires additional copies of data• once for second-order• three times for fourth-order

• Update positions• Update velocities

39M Teschner - Deformable Modeling

ETH ZurichImplicit Integration – Theta Scheme

NicolsonCrank

Eulerimplicit

Eulerexlicit

:5.0

:1

:0

===

θθθ

( ))1()()1()()1( +⋅+⋅−+=+ tthtt vvxx θθ

( ))1()()1()()1( +⋅+⋅−+⋅=+⋅ tthtmtm FFvv θθ

40M Teschner - Deformable Modeling

ETH ZurichTheta Scheme - Implementation

2

)2

)()()(())((

)()(

htthtt

htmhtm

++⋅++⋅+⋅=+⋅

vvxFxF

vv

2

)()()())(()

2

)()()((

)(

httht

httht

t

++⋅⋅∂

∂+≈++⋅+=

vv

x

xFxF

vvxF

xx

)(

2 )(

2

)())(()(

t

ththtm

xxx

xFvxFv

=∂∂⋅⋅+⋅+⋅

∂∂⋅−

= )(

2 )(

2 t

hm

xxx

xF ≈+⋅ )( htv

rewriting the problem

linearization of force

explicit form for v(t+h)

Page 11: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

11

41M Teschner - Deformable Modeling

ETH ZurichTheta Scheme – Conjugate Gradient

• linear system:

• gradient of a function

with

• iterative solution for v with initial value v0

Iteration:

A =⋅v b

bvAv −⋅=∇ )(f

0)( =∇ vf

))((1 kkk fw vvv ∇⋅+=+ α

42M Teschner - Deformable Modeling

ETH ZurichHigher-Order Numerical Integration

Integration methods for first-order ODE’s

EulerHeunRunge Kutta

commonly used in Computer Graphics applications

Integration methods for Newton’s motion equation

VerletVelocity VerletBeeman

commonly used in molecular dynamics

43M Teschner - Deformable Modeling

ETH ZurichVerlet Integration

)()(6

)(2

)(')()(

)()(6

)(2

)(')()(

432

432

hOt'''h

th

ththt

hOt'''h

th

ththt

+−+−=−

++++=+

xaxxx

xaxxx

+

=)()()()(2)( 42 hOthhttht ++−+=+ axxx

)(2

)()()( 2hO

h

hthttv +−−+= xx

44M Teschner - Deformable Modeling

ETH Zurich

( ) ( ) ( ) ( ) ( )( )htfahtfatfaaaa

htfhtf 2''' 030201

32100 −+−+

+++=+

Other Integration Techniques

Burlisch-Stoer Methods

Predictor-Corrector Methods

• Polynomial function extrapolation based on midpoint method steps• High accuracy with minimal computational effort• Bad for non-smooth functions• Not very promising, but has been used for mass-spring models

• Predicts a value from previous derivatives

• Corrects the value using the derivative from the predicted value (implicit)

( ) ( ) ( ) ( ) ( )( )htfbtfbhtfbbbb

htfhtf −+++

+++=+ 030201

32100 '''

Page 12: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

12

45M Teschner - Deformable Modeling

ETH ZurichNumerical Integration - Summary

Motion equation for mass point• second-order differential equation• coupled system of first-order differential equation• derivatives of velocity v and position x are described

Numerical integration• known initial values at a certain time t for v and x• approximative integration of v and x through time• time step hIntegration techniques• Euler, Leap-Frog• Runge-Kutta• Crank-Nicolson• Verlet, velocity Verlet, Beeman• predictor-corrector• methods differ in accuracy and computational complexity• size of time step h is trade-off between performance and robustness

46M Teschner - Deformable Modeling

ETH Zurich

MotivationModel Components

Mass PointsSpringsForces

Computation of the Dynamic BehaviorExplicit Numerical IntegrationImplicit Numerical IntegrationHigher-Order Numerical Integration

Stability and Performance AspectsPerformanceTime and Space Adaptive SamplingDampingForce-Deformation RelationshipModel Topology

Outline

47M Teschner - Deformable Modeling

ETH ZurichHow to Measure Performance ?

• Frames per second (System updates per real-life second)

• Commonly used• How many mass points?• How many springs?• Computational expenses for external forces?• Other expenses like collision handling and rendering?• Which numerical integration technique?• What time step?

• Example: 0.1 – 1 s for 10,000 polygons per iteration using various integration techniques [Volino/Thalmann 2001]cloth simulation

It is difficult !

48M Teschner - Deformable Modeling

ETH ZurichComparison of Integration Methods

• Synthetic object under gravity• 22320 springs (16875 tetras) Method time step comp. time ratio

[ms] [ms]

expl. Euler 0.5 9.3 0.05Heun 2.9 27.5 0.1RK2 3.8 18.9 0.2impl. Euler 49.0 172.0 0.28RK4 17.0 50.0 0.34Verlet 11.5 8.5 1.35

Intel Pentium 4, 2GHz

Page 13: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

13

49M Teschner - Deformable Modeling

ETH ZurichPerformance - Example

• Numerical integration time step 5 ms• Computational time 1.8 ms• Performed tasks in a simulation environment per second

• 450 integrations a 1.8 ms• 450 collision handlings a 0.2 ms • 23 visualizations a 1.7 ms

1349 mass points6888 springs

Uterus

50M Teschner - Deformable Modeling

ETH ZurichPerformance - Example

Vessel

• Numerical integration time step 1.9 ms• Computational time 6.1 ms• Performed tasks in a simulation environment per second

• 135 integrations a 6.1 ms• 135 collision handlings a 1.1 ms • 7 visualizations a 3.7 ms

2949 mass points15713 springs

51M Teschner - Deformable Modeling

ETH ZurichAdaptive Time Steps

• Minimizing computational expensesby adaptively choosing time steps

• Small time steps if forces at mass points change significantly• Larger time steps if forces do not change much• Computational overhead for tracking force changes• Example:

• Free falling sphere does not require small time steps.• Any collision would require smaller time steps.• Early detection of force changes necessary.

t

f(t)

52M Teschner - Deformable Modeling

ETH ZurichSpace Adaptive Sampling

Debunne

• Hierarchical model representation (coarse sampling to fine sampling)• Different numbers of mass points for different modeling accuracies• Allows to focus the computational load on interesting regions • Problem: How to define regions of interest• Problem: Relation between simulated mass points and object points

Page 14: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

14

53M Teschner - Deformable Modeling

ETH ZurichSpace Adaptive Sampling

• Combination of physically-based and geometric deformation

• Different degrees of freedom for deformation

surface/object points

mass point

• Definition of rules to switch between level of details in certain areas• Update of the relation between mass points and surface points.

54M Teschner - Deformable Modeling

ETH ZurichSpace Adaptive Sampling

DebunneDesbrunCotiBarr

55M Teschner - Deformable Modeling

ETH ZurichDamping

• Models the real fact, that friction costs energy• Smoothens variations in velocities and positions of mass points• Reduces instability risk

Damping is a force usually linear proportional to vn in opposite direction

• Coulomb F~v0 not applied for mass-spring systems

• Stokes F~v uniform damping, preferred

• Newton F~v2 non-uniform damping

It is not intended to bound velocities and positions! Not the magnitude, but variations influence the stability!

56M Teschner - Deformable Modeling

ETH ZurichPoint Damping

( ) ( )i

ii Fxx =+dt

td

dt

tdmi γ

2

2

( ) ( ) ( )im

tt

dt

td iii vFv γ−=

• Force at a point is usedfor acceleration and damping

• Damping force is applied in oppositedirection to the velocity of the point

• Example: Falling mass point has a maximum speed, when gravity and damping are in an equilibrium

damping force

Page 15: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

15

57M Teschner - Deformable Modeling

ETH ZurichPoint Damping Problem

( ) ( ) ( ) ( )m

tththt 00

00

vFvv

γ−+=+

t t+h t+2h

v’ v’v’

Fd - damping forcev’ - velocity without

dampingv - velocity with

damping

acceleration instead of damping from t+h to t+2hdue to changing velocity direction

vvFd

v

Fd

Fd

( ) ( ) ( ) ( )m

htththt

+−+=+ 0000

vFvv

γSolution: considerationof the velocity at the next time step

58M Teschner - Deformable Modeling

ETH ZurichSpring Damping

• Damping force proportionalto the velocity of the spring

)(tl )( htl +

( ))()(

)()()()()(

tt

tt

h

tlhtlt

01

011 xx

xxF

−−−+−= γ

)(t0x

)(t1x

)( ht +0x

)( ht +1x

• Damps relative movements of mass points• Reduces internal oscillations of the mass-spring model• Requires computation of auxiliary point positions• Problem: Which force direction is correct?

59M Teschner - Deformable Modeling

ETH ZurichSimplified Spring Damping

( ))()(

)()()()()(

tt

tt

h

tlhtlt

01

011 xx

xxF

−−−+−= γ

• Consider spring velocity from the previous time stepto reduce computational complexity

( ))()(

)()()()()(

tt

tt

h

htltlt

01

011 xx

xxF

−−−−−= γ

• Problem (erroneous when direction of velocity changes):• very likely close to the equilibrium -> oscillations

t ht + ht 2+correct dampingsimplified damping

60M Teschner - Deformable Modeling

ETH ZurichDamping - Summary

Spring damping has more influence on the stabilitiy of the numerical integrationprocess than point damping.

It is essential to damp relative movementof mass points with respect to each other.

Euler integration does not provide informationabout changing directions of velocities withinthe next time step. Erroneous damping can happen!

Erroneous damping is problematic close to equlibriumsand in case of large spring constants.

Integration techniques which use predictions of thenext time step have the potential to detect changingdirections of velocities. Erroneous damping can be avoided.

Page 16: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

16

61M Teschner - Deformable Modeling

ETH ZurichForce-Deformation Relationships

( )01

0101

int0 xx

xxxxF

−−−−= Lk

L

0x

1x

( )2

22

01

0101

int0

xx

xxxxF

−−−−= Lk

01

0101int0 xx

xxxxF

−−

−−=

n

L

Lk n odd ! Why ?

• Various computational complexity• Influence on the function, which is integrated

• Definition of forces which work against deformation• No deformation -> no force

62M Teschner - Deformable Modeling

ETH ZurichSpring Properties and Stability

• Behavior of force-deformation relation strongly influences stability.• It’s difficult to simulate stiff structures.• It’s difficult to represent non-oscillating deformable structures.• Human soft tissue

• Large forces should be handled.• No oscillations

springdeformation

force

springdeformation

forceforce

springdeformation

force

springdeformation

softstable

stiffproblematic

oscillatingstable

non-oscillatingdon’t even think

of using it

63M Teschner - Deformable Modeling

ETH ZurichModel Properties and Stability

Movie

• Two different sets of parameters (mass and stiffness)for the same topology

• Higher stiffness difficultto handle

Movie

Teschner

64M Teschner - Deformable Modeling

ETH ZurichTopology and Stability –2D

• Design problem

• Stable model topologieswith respect to deformation

not stable

stablebut notgeneral

stablecan be generated automatically bycopying the surface to an inner layerand connecting both – layered model

much more resistant in direction than in direction.

Page 17: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

17

65M Teschner - Deformable Modeling

ETH ZurichTopology and Stability –3D

• Triangulated sphere surface• Edges represented by springs• Stable sphere model represented with two layers of springs• Inner layer is a copy of the surface• Both layers are connected by springs• Stable, but many springs, many forces, computational expensive

66M Teschner - Deformable Modeling

ETH ZurichTopology - Ambiguity Problem

• Unappropriate topology• No force penalty for shearing• Diagonal springs are missing

• Appropriate topology• However, self-collision problem

original equilibrium 1 equilibrium 2

model is attached to these two planes

67M Teschner - Deformable Modeling

ETH ZurichTopology and Stability –2D

• Generating pre-strained models for stability

additionalforces

new stable?equilibrium

relaxed,not stable

Problems:• New equilibrium does not represent given model geometry.• Initiated forces are dependent on surface changes and object transformation.• Initiated forces could be bound to surface normals.

68M Teschner - Deformable Modeling

ETH ZurichVolumetric Models

2949 mass points10257 tetras15713 springs

1349 mass points4562 tetras6888 springs

Page 18: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

18

69M Teschner - Deformable Modeling

ETH ZurichPerformance Aspects - Summary

• Performance is difficult to assess!

• Varying time steps

• Model hierarchies, coarse to fine point sampling

• Point and spring damping.

• Force-deformation relationship. Soft and oscillating models are robust.

• Topology. How to connect mass points in an appropriate way?Influence on the stability of the numerical integration

• Topology. How to avoid too many springs?Influence on the performance of the numerical integration

70M Teschner - Deformable Modeling

ETH ZurichOther Forces

• Induction of internal forces by falsifying the initial spring length

consttL =)( )()( tftL =

• Simulation of muscle contraction (or fishes)• L(t) has to be smooth for stability

)( 0tL

relaxedspring

)( 0 htL +no longerrelaxed

71M Teschner - Deformable Modeling

ETH ZurichExamples for External Forces

• Gravity• Wind

Mass points can be partof a mass-spring system, buttheir velocities and positions are not necessarily updated.

Movie

Movie

Teschner72M Teschner - Deformable Modeling

ETH ZurichPenalty Forces

• Penalty forces are additional momentum conserving external forces at mass points.

• Penetration of a mass point into another object can cause a penaltyforce to resolve the collision.

• Volume variation of basic volumetric elements can cause forces topreserve volume.

• Surface changes can cause penalty forces at mass points topreserve certain characteristics of the surface.

• Proper relation of penalty, internal, and other external forceshas to be considered.

• Penalty force functions should be appropriate for numericalintegration.

Page 19: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

19

73M Teschner - Deformable Modeling

ETH ZurichPenalty Forces

Collision Surface changes

1

2Penalty

1

2

Penalty

74M Teschner - Deformable Modeling

ETH ZurichDynamic Deformation - Summary

• Discretization of an object into mass points• Definition of the connectivity

(topology, adjacencies of mass points, layers)• Model parameters:

• Points: masses, initial positions, initial velocities• Springs: force-deformation relationship and

its parameters (stiffness)• Damping: points and/or springs

(Stokes and/or Newton)• External and penalty forces: definition of theses forces over time• Restrictions: fixed points, restricted movement

75M Teschner - Deformable Modeling

ETH ZurichDynamic Deformation - Summary

• Numerical integration technique:• Euler, Leap-Frog• Runge Kutta • Crank-Nicolson• Verlet, Beeman• Predictor-corrector methods

• Consider performance aspects!• Find an appropriate time step

to solve your specific problem !

76M Teschner - Deformable Modeling

ETH Zurich

MotivationModel Components

Mass PointsSpringsForces

Computation of the Dynamic BehaviorExplicit Numerical IntegrationImplicit Numerical IntegrationHigher-Order Numerical Integration

Stability and Performance AspectsPerformanceTime and Space Adaptive SamplingDampingForce-Deformation RelationshipModel Topology

Movies

Outline

Page 20: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

20

77M Teschner - Deformable Modeling

ETH ZurichDynamic Deformation – Cloth

Thalmann

78M Teschner - Deformable Modeling

ETH ZurichDynamic Deformation - Cloth

• Animated body (CuriousLabs’ Poser)• Deformable cloth modeling

Strasser

79M Teschner - Deformable Modeling

ETH ZurichDynamic Deformation – Cloth

MeyerDesbrunBarr

• SGI’s OpenInventor• Deformation and collision handling in realtime!

80M Teschner - Deformable Modeling

ETH ZurichSurgical Simulation

BielserGross

• 3D deformable structure• deformation + collision handling in realtime!

Page 21: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

21

81M Teschner - Deformable Modeling

ETH ZurichCloth Simulation

FedkiwStanford University

82M Teschner - Deformable Modeling

ETH ZurichHand Simulation

Articulatedbonestructure

Deformablepulp space

Generic skin model

Sibille / Teschner / Latombe

83M Teschner - Deformable Modeling

ETH ZurichArterial Pulse Simulation

Kuehnapfel

84M Teschner - Deformable Modeling

ETH ZurichSynthetic Faces

Eisert / Girod

• Tracking of real faces, parameter estimation• Animation of deformable, textured 3D models

Page 22: Outline - CGL @ ETHZ · 2019. 4. 3. · M Teschner - Deformable Modeling ETH Zurich Modeling Dynamic Deformation with Mass Points and Springs Matthias Teschner Seminar – Wintersemester

22

85M Teschner - Deformable Modeling

ETH ZurichFish Life

Terzopoulos

86M Teschner - Deformable Modeling

ETH ZurichA few References

• D. Terzopoulos, J. Platt, A. Barr, K. Fleischer, “Elastically Deformable Models,”SIGGRAPH’87, ACM Computer Graphics, vol. 21, no. 4, pp. 205-214, 1987.

• D. Terzopoulos, K. Fleischer, “Modeling Inelastic Deformation: Viscoelasticity,Plasticity, Fracture,” SIGGRAPH’88, ACM Computer Graphics, vol. 22, no. 4, pp. 269-278, 1988.

• Y. Lee, D. Terzopoulos, K. Waters, “Realistic Modeling for Facial Animation,”SIGGRAPH’95, ACM Computer Graphics, vol. 29, no. 4, pp. 52-62, 1995.

• D. Baraff, A. Witkin, “Large Steps in Cloth Simulation,” SIGGRAPH’98, ACMComputer Graphics, pp. 43-54, 1998.

• M. Desbrun, P. Schroeder, A. Barr, “Interactive Animation of StructuredDeformable Objects,” Graphics Interface ’99, Kingston, Canada, 1999.

• G. Debunne, M. Desbrun, M. Cani, A. Barr, “Dynamic Real-Time Deformationsusing Space and Time Adaptive Sampling,” SIGGRAPHC’01, ACM Computer Graphics, pp. 31-36, 2001.

• H. R. Schwarz, “Numerische Mathematik,” B. G. Teubner Stuttgart, ISBN 3-519-32960-3, 1997.

87M Teschner - Deformable Modeling

ETH Zurich

Demo

Teschner