simulation in computer graphics particles of freiburg –computer science department –computer...

63
Simulation in Computer Graphics Particles Matthias Teschner Computer Science Department University of Freiburg

Upload: buihanh

Post on 03-Apr-2018

226 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

Simulation in Computer Graphics

Particles

Matthias Teschner

Computer Science DepartmentUniversity of Freiburg

Page 2: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 2

introduction

particle motion

finite differences

system of first order ODEs

second order ODE

Outline

Page 3: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 3

sets of particles (particle systems) are used to model time-dependent phenomena such as snow, fire, smoke

Motivation

Page 4: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 4

particles are characterized by mass, position and velocity

forces determine the dynamic behavior

inter-particle forces are neglected

particles can carry arbitrary attributes for rendering purposes, e.g., shape, color, transparency, life time

Motivation

Kolb, Latta, Rezk-Salama

Page 5: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 5

Demo

750,000 particles in XNA, http://www.youtube.com/watch?v=CyAZ2Y7nOTw

Page 6: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 6

introduction

particle motion

finite differences

system of first order ODEs

second order ODE

Outline

Page 7: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 7

quantities relevant for the motion of a particle:

mass

position

velocity

force acting on the particle

force generally depends on position and velocity

Particle Quantities

Page 8: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 8

quantities are considered at discrete time points

particle simulations are concerned with the computation

of unknown future particle quantities

using known current information

Particle Motion

Page 9: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 9

Newton’s Second Law, Newton's motion equation, motion equation of a particle

the force acting on an object is equal to the rate of change of its momentum

constant mass

Governing Equation

Page 10: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 10

is an ordinary differential equation ODE

describes the behavior of in terms of its derivatives with respect to time

numerical integration can be employed to numerically solve the ODE, i.e. to approximate the unknown function

Governing Equation

Page 11: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 11

initial value problem of second order

second-order ODEs can be rewritten as a system of two coupled equations of first order

initial value problem of first order

Governing Equation

Page 12: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 12

functions represent the particle motion

initial values are given

first-order differential equations are given

the functions and their first derivatives are known at

how to compute

Initial Value Problem of First Order

Page 13: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 13

generally depend on positions and velocities

friction / fluid viscosity depend on velocities

spring forces, shear, stretch depend on positions

contact handling forces depend on positions and velocities

can be arbitrarily expensive to compute

consider one particle (particle system) or sets of particles (deformables, fluids)

require additional effort, e.g., contact handling forces detect collisions of particles with obstacles

compute penalty force from penetration depth

Forces

Page 14: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 14

introduction

particle motion

finite differences

system of first order ODEs

second order ODE

Outline

Page 15: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 15

Finite Differences

Taylor-series approximation

continuous ODEs are replaced with discrete finite-difference equations FDEs

O(h2) – truncation or discretization error

O(h) – error order of, e.g., a schemethat employs such approximation

Page 16: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 16

polynomial fitting (line fitting in case of one sample)

which results in

Finite Differences

Page 17: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 17

introduction

particle motion

finite differences

system of first order ODEs

explicit approaches

predictor corrector approaches

implicit approaches

second order ODE

Outline

Page 18: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 18

initialize

numerical integration of position and velocity

Euler Method

Page 19: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 19

Euler step from to

Euler step from to

the position update depends on velocity

the velocity update depends on position and velocity

Coupled Equations

Page 20: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 20

discretization error is defined as the difference between the solution of the ODE and the solution of the FDE

the FDE is consistent, if the discretization error vanishes if the time step h approaches zero

the FDE is stable, if previously introduced errors (discretization, round-off) do not grow within a simulation step

the FDE is convergent, if the solution of the FDE approaches the solution of the ODE

Accuracy and Stability

Page 21: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 21

although the discretization error is diminished by smaller time steps in consistent schemes, the discretization error is introduced in each step of the FD scheme

if previously introduced discretization errors are not amplified by the FD scheme, then it is stable

consistent and stable schemes are convergent

Accuracy and Stability

Page 22: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 22

if stability is influenced by the time step, the FD scheme is conditionally stable

if the FD scheme is stable or unstable for arbitrary time steps, it is unconditionally stable or unstable

ODE, FDE and the parameters influencethe stability of a system

schemes with improved stability work with larger time steps

Stability

Page 23: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 23

larger time steps typically speed up a simulation

smaller time steps can improve the stability

arbitrarily small time steps are not feasible due to round-off errors

for larger time steps, the error is dominated by the discretization error

for smaller time steps, the error is dominated by round-off errors

performance of an FD scheme is trade-off between error order in terms of the time step and computing complexity

Time Step

Page 24: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 24

Second-Order Runge-KuttaMidpoint Method

Euler

• compute the derivative at t0

• approximate f (t0 +h)using the derivative at t0

error

Midpoint Method

• compute the derivative at t0

• compute f(t0 +h/2)

• compute the derivative at t0 +h/2

• approximate f (t0 +h)using the derivative at t0 +h/2

error

Page 25: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 25

compute x’(t)

compute v’(t)

compute x’(t+h/2)

compute v’(t+h/2)with x(t+h/2) and v(t+h/2)

compute x(t+h) with x’(t+h/2)

compute v(t+h) with v’(t+h/2)

Second-Order Runge-Kutta Midpoint Method

Page 26: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 26

compute x’(t)

compute v’(t)

compute x’(t+h)

compute v’(t+h)

c. x(t+h) with x’(t) and x’(t+h)

c. v(t+h) with v’(t) and v’(t+h)

Second-Order Runge-KuttaHeun

Page 27: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 27

compute x’(t)

compute v’(t)

compute x’(t+3h/4)

compute v’(t+3h/4)with x(t+3h/4) and v(t+3h/4)

c. x(t+h) with x’(t) and x’(t+3h/4)

c. v(t+h) with v’(t) and v’(t+3h/4)

Second-Order Runge-Kutta Ralston Method

Page 28: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 28

compute f’(t0) (1) compute f(t0+h/2)

with f (t0) and f’(t0) compute f’(t0+h/2) (2) compute f(t0+h/2)

with f (t0) and f’(t0+h/2) compute f’(t0+h/2) (3) compute f(t0+h)

with f (t0) and f’(t0+h/2) compute f’(t0+h) (4) compute f(t0+h) with f (t0) and a

weighted average of all derivatives (1) – (4)

Fourth-Order Runge-KuttaRunge

error

Page 29: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 29

four derivative computations per time step

error

Fourth-Order Runge-KuttaRunge

Page 30: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 30

four derivative computations per time step

error

Fourth-Order Runge-KuttaKutta

Page 31: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 31

similar performance if the time step for RK 2 is twice the time step for Euler

Does RK allow for faster simulations than Euler?

Performance

Euler Runge-Kutta

• one computation of thederivative per time step

• error

• two (four) computations of the derivative per time step

• error

• allows larger time steps

Page 32: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 32

Euler

one function evaluation

force computation

position and velocity update

Runge-Kutta

multiple function evaluations

computation of auxiliary forces, positions, velocities once for second order

three times for fourth order

position and velocity update

Implementation

Page 33: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 33

introduction

particle motion

finite differences

system of first order ODEs

explicit approaches

predictor corrector approaches

implicit approaches

second order ODE

Outline

Page 34: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 34

predict a value from current (and previous) derivatives correct the predicted value with its derivative second-order Adams-Bashforth predictor

second-order Adams-Moulton corrector

based on Lagrange polynomials or Taylor approximations can be efficiently implemented with

two derivative computations per simulation step requires values at previous time steps,

not self-starting

Predictor-Corrector Methods

Page 35: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 35

Adams-Bashforth Predictors

Page 36: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 36

Adams-Moulton Correctors

Page 37: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 38

introduction

particle motion

finite differences

system of first order ODEs

explicit approaches

predictor corrector approaches

implicit approaches

second order ODE

Outline

Page 38: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 39

explicit Euler implicit Euler

- one unknown per equation - system of algebraic equations- direct calculation of x(t+h) with many unknowns

and v(t+h) - simultaneous computation of- non-linear equations have x(t+h) and v(t+h)

no effect on the approach - solution of a system of equations- can handle non-analytical, - non-linear equations are commonly

procedural forces linearized to get a system of linear equations

Explicit and Implicit Integration

Page 39: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 40

one-dimensional scalar field

multi-dimensional scalar field

gradient

nabla, del

Linearization of Scalar Functions

Page 40: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 41

multi-dimensional vector field

Jacobi matrix

Linearization of Vector Fields

Page 41: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 42

general form

explicit Euler

implicit Euler

Crank Nicolson

Implicit IntegrationTheta Scheme

Page 42: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 43

rewriting the problem for

force linearization

solving a linear system for

Theta SchemeExample Implementation

In this example,force F depends on x, not on v.

Page 43: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 44

linear system

gradient of a function

with

iterative solution for with initial value

Theta SchemeConjugate Gradient

Page 44: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 45

v0 = v(t) direction d residual r step size v(t+h) = vi

A is symmetric, positive-definite -r0, -d0 gradient of function f di, dj are conjugate,

i.e. diT A dj = 0

ri = 0 in maximal n steps, if v has n components

Conjugate Gradient Method

Page 45: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 46

Euler-Cromer (semi-implicit)

Euler-Cromer

...

computeForces(); //F(t)

velocityEuler(h); //v=v(t+h)=v(t)+ha(t)

positionEuler(h); //x=x(t+h)=x(t)+hv(t+h)

...

Euler

...

computeForces(); //F(t)

positionEuler(h); //x=x(t+h)=x(t)+hv(t)

velocityEuler(h); //v=v(t+h)=v(t)+ha(t)

...

Page 46: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 47

error

can generally handle larger time steps hcompared to Euler

Leap Frog

Leap Frog

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

...

computeForces(); //F(t)

velocityEuler(h); //v=v(t+h)=v(t)+ha(t)

positionEuler(h); //x=x(t+h)=x(t)+hv(t+h)

...

Euler

...

computeForces(); //F(t)

positionEuler(h); //x=x(t+h)=x(t)+hv(t)

velocityEuler(h); //v=v(t+h)=v(t)+ha(t)

...

Page 47: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 48

introduction

particle motion

finite differences

system of first order ODEs

second order ODE

Outline

Page 48: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 49

function represents the particle motion

initial values are given

second-order differential equation is given

at time , the function and their derivatives are known

how to compute

Initial Value Problem of Second Order

Page 49: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 50

integration methods for integration methods forfirst-order ODEs second-order ODE

(Newton’s motion equation)

Euler, Heun, Ralston, Verlet, velocity Verlet,

Midpoint method, Beeman, Gear,

4th order Runge-Kutta Euler-Cromer, Leap-Frog

Overview of Integration Schemes

Page 50: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 51

Taylor approximations of and

adding both approximations

Verlet

Page 51: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 52

independent of velocity

one derivative computation per time step

efficient to compute, comparatively accurate

third-order in the position

if required, velocity can be computed, e.g. using

velocity is commonly required for collision response or damping

Verlet

Page 52: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 53

one force (derivative) computation per time step

second-order accuracy in position and velocity

equivalent to

Velocity Verlet

Ft+h is computed using xt+h, vt+h

Page 53: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 54

one force (derivative) computation per time step

efficient to compute

third-order accuracy in position and velocity

is computed using

Beeman

Page 54: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 55

position velocity acceleration

Gear Integration

Page 55: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 56

Gear Integration

Page 56: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 57

Gear - Prediction

Page 57: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 58

error

error correction coefficients

Gear - Correction

k = 0 k = 1 k = 2 k = 3 k = 4 k = 5

20

3

360

2511

18

11

6

1

60

1

Page 58: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 59

initialization

integration

prediction

error estimation

correction

Gear - Implementation

Page 59: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 60

method force comp. error order error order

per time step position velocity

Euler 1 1 1

RK 2nd order 2 2 2

RK 4th order 4 4 4

Verlet 1 3 1

Velocity Verlet 1 2 2

Beeman 1 3 3

Comparison – Explicit Schemes

Page 60: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 61

Comparison – Explicit Schemes

methods for first-order ODEs accuracy corresponds to computing complexity position and velocity have the same error order

methods for second-order ODEs improved accuracy with minimal computing complexity error order might differ for position and velocity

implicit methods cannot be compared this way do not only compute forces (derivatives) commonly require to solve a linear system improved stability even for low error orders,

implicit Euler with error order one can be unconditionally stable, e. g. for harmonic oscillators (springs)

Page 61: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 62

Advantages / Disadvantages

explicit methods simple to set up and program fast computation per integration step suitable for parallel architectures small time steps required for stability many computing steps required for a given time interval t

implicit methods stability is maintained for large time steps require less steps for a given interval t large time steps can cause large truncation errors complicate to set up less flexible, problems with non-analytical forces large computing time per integration step

Page 62: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 63

Advantages / Disadvantages

predictor-corrector methods not self-starting have to be re-initialized in case of discontinuities,

e. g. due to collision response

in general, implicit methods are more robust (stable) compared to explicit methods if an explicit scheme is not conditionally or unconditionally

stable it cannot be used regardless of its efficiency

explicit methods can be computed efficiently which is essential if frequent updates are required if an implicit scheme cannot be computed at

interactive rates, it cannot be used in interactive applications regardless of the time step

Page 63: Simulation in Computer Graphics Particles of Freiburg –Computer Science Department –Computer Graphics - 13 generally depend on positions and velocities friction / fluid viscosity

University of Freiburg – Computer Science Department – Computer Graphics - 64

Summary

motion equation for a mass point second-order differential equation coupled system of first-order differential equations

numerical integration initial values xt and vt

approximate integration of v and x through time with time step h

integration schemes Euler, Runge-Kutta 2nd , Runge-Kutta 4th

Crank-Nicolson, implicit Euler, Euler-Cromer, Leap-Frog Gear, Verlet, velocity Verlet, Beeman

trade-off between accuracy and computing cost goal: maximizing the ratio of time step and computing cost