Download Simulation and Animation

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Simulation and Animation
Rigid Body Simulation
computer graphics & visualization
The next few lectures…
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Comming up…
Point Dynamics
• no extend
• only position
Rigid Bodies
• extended
• positioned & oriented
• „a set of points“
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Dynamic simulation
• Movement of point masses, rigid bodies,
systems of point masses etc. with respect to
– Forces
– Body charcteristics (mass, shape)
– Derivation of accelerations from properties and
physical laws
• Dynamic of point masses
• Dynamic of rigid bodies
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Dynamic simulation
• Newtons Axioms
– Without external forces, a body
moves uniformly (Inertia)
– An external force F applied to a
mass m results in an acceleration a:
F = ma
– Actio = reactio
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Now…
Point Dynamics
• no extend
• no orientation
Rigid Bodies
• Extended
• Oriented
• „a set of points“
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Point dynamics
• Dynamic simulation of particles
– Position r, mass m, velocity v,
acceleration a, but no extend
– Forces F act on particles
v(t )  r(t )
a(t )  v (t ) F  m  a(t )
F,a,v,r are 3D vectors!!!
v(t  dt)  v(t) 
F
dt
m
v(t  dt)  v(t) 
F
dt
m
1 F 2
1
r(t  dt)  r(t)  v(t)dt 
dt  r(t)   v(t)  v  t  dt  dt 
2m
2
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Point dynamics
• Dynamic simulation of particles
– Multiple forces may act
on particles
• Forces are added by vector addition
– F is usually a function of time
– Mass might change as well
• Change of momentum (Impuls) with change of time
d (mv)
F
dt
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Point dynamics
• Particles have no internal structure
• 3 DOF = degrees of freedom (position only)
• Direct kinematic: from a  v  r
• Indirect kinematic:
from r and boundary conditions  v  a
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Point dynamics
• Relation between force F
and acceleration a
a(t ) 
F(t )
m
Point mass
• Direct dynamics
a(t ) 
F(t )
m
t
v (t )  a(t )

v(t )   a(t ) dt   v 0
t0
t
r(t )  v(t )

r(t )   v(t ) dt   r0
t0
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Point dynamics
• Important Forces
– Gravity
F  mg
– Hooke's Law
F  ku
– Friction
F  v
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Point dynamics
• Linear momentum (Impuls)
– Force F act on center of mass
p  mv
• Force
F  p
• Conservation of momentum
p  0
• Example: elastic push
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Point dynamics
• Angular momentum (Drall)
p
L  r  p  r  (mr )
• Torque (Drehmoment)
TL
r
Moment of inertia: I = mr2
d
(r  p)  r  F
dt
• Conservation of angular momentum
L  r  F  0
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Point dynamics
• Angular velocity of a point (rate at which the point is rotating):
r0  ω  r0  ω  r0  ω  r0||
 ω  r0
ω
magnitude of change


r0
• Notation:
r0||
a  b  a *b
mit
 0

*
a   az
 a
 y
 az
0
ax
ay 

 ax 
0 
r0
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Point dynamics
• Analog for rotation matrix R - it changes under angular velocity

 Ryx 
 Rxx 
 Rzx  







R   ω(t )   Rxy  ω(t )   Ryy  ω(t )   Rzy    ω *R

R 
R 
 R  
 xz 
 zz  
 yz 

• Aggregate movement of a body point
– (r0/r(t): position in local/world space coordinate system)
r(t )  R(t )r0  rCM
r (t )  v CM (t )  ω(t )* R (t )r0
 v CM (t )  ω(t )* R (t )r0  rCM  rCM 
 v CM (t )  ω(t )  r (t )  rCM (t ) 
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Point dynamics
• Relation between angular momentum
and angular velocity
L  r  p  r  (mr)  mr  r  mr  (ω  r)
 Iω
• Inertia tensor I (Trägheitstensor)
 m(r 2  x 2 )
m yx
m zx 


2
2
I   m xy
m(r  y )
m zy 
2
2 
 m xz

m
yz
m(r

z
)

Example:
Skater
Symmetric
tensor
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Point dynamics
Summary
Translation
Rotation
Position r
Angle 
velocity v
Angular velocity 
Momentum p
Angular momentum L
Force F
Torque T
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Next…
Point Dynamics
• no extend
• no orientation
Rigid Bodies
• Extended
• Oriented
• „a set of points“
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Idea
–
–
–
–
–
–
Combination of many small particles to a rigid body
Bodies that do not deform – they are stiff
They do not penetrate
They bounce back if they collide
Rigid convex polyhedra of constant density
6 DOF instead of 3n DOF (for n particles)
• Distinguish between
– Movement of center of mass (CM)
– Rotation around (CM)
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Mass M
M   mi
small, discrete mass points
in continuous case
M    (r ) dV 3
V
Volume integral over
entire body
Mass density (= specific weight
= Mass/Volume)
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• CM (center of mass)
 m r (t )
rCM (t ) 
i i
M
in continuous case
rCM (t) 

V
(r, t) r(t) dV3
M
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Dynamic simulation of rigid bodies
– Motion consist of translational and angular
component
– Velocity v(t) is rate of change of position r(t) over
time
• v(t) = r´(t)
• v(t) is linear velocity at center of mass
– Bodies also have a spin
• About an axis (vector) through the center of mass
• Magnitude of the vector defines how fast the body is
spinning
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Translation and Rotation:
r(t )  rCM (t )  R(t )r0
CM
local/fixed
coordinate system
• Rotation R:
– 3*3 Matrix
– Redundancies
– only 3 DOF
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
Translation
Rotation
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Momentum
pCM (t)  MrCM (t)
• Movement of CM
vCM (t)  rCM (t)
pCM (t)  MrCM (t)  MvCM (t)  Fext (t)
• Force Fext is sum of all external forces
Fext (t )  Fext,i (t )
Fext,i
R
Fext
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Angular momentum
L   ri  p i   ri  (mi ri )
  mi (ri  (ω  ri ))
 Iω
• Inertia tensor I
  mi (ri 2  x i 2 )

I    mi x i yi
  mi x i z i

 m i y i x i
2
2
m
(r

y
 i i i)
 mi z i x i
 m i z i x i 

 m i z i y i 
 mi (ri 2  zi 2 ) 
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Angular momentum
L  Iω
• Inertia tensor I in continuous case
I jk   (r)(r 2 jk  rjrk )dV3
V
x,y,z coordinates
Kronecker-symbol
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Translation vs. Rotation
Mass
Inertia Moment (Trägheitsmoment)
I   (r)r 2dr
m
V
Velocity
v =dr/dt
Momentum
p = mv
Force
F = dp/dt
Angular Velocity
 = d/dt
Angular Momentum
L = I = r x p
Torque
T = r x F = dL/dt
Kinetc Energy
Kinetic Energy
E = ½ mv2
E = ½ I2
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Properties of the Inertia tensor
– Diagonal elements are moments of inertia with respect
to coordinate axes
– It is symmetric and real
• Has three principal axis (eigenvectors)
Iri  Ii ri
(I  diag(Ii , Ii , Ii ))r  0  I  diag(Ii , Ii , Ii )  0  i  1, 2,3
• Eigenvectors are orthogonal: directions of inertia
(Hauptträgheitsachsen)
• Eigenvalues are real: moments of inertia
(Hauptträgheitsmomente)
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Inertia tensor
– In this (directions of inertia) coordinate system, I can be diagonalized by
RIRT, where R is a rotation matrix:
 I1

I 0
0

0
I2
0
0

0
I 3 
• Inertia moment (scalar) for rotation around axis n (normalized)
I n  nT  I  n   Iik ni n k
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Torque of single „body element“
Ti (t )  (ri (t )  rCM(t ))  Fi
• Total torque
T(t )  (ri (t )  rCM(t ))  Fi
• Important:
starting point of force
• Equations of motion for rotation
(Euler equations for fixed coordinate system)
L  T
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• State vector of a rigid body
 rCM (t ) 


 R( t ) 
X( t )  
pCM (t ) 


 L(t ) 


Position
Orientation (rotation matrix)
Impuls
Angular momentum
• Constants:
– Inertia tensor IKS
– Mass M
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Derived variables
pCM (t)
vCM (t) 
M
I(t)  R(t)I KSR(t)T
1
I 1 (t)  R(t)I KS
R(t)T
ω(t)  I(t) 1 L(t)
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Equations of motion
 rCM (t )   v CM (t ) 

 

*
 (t )  d  R(t )    ω(t ) R(t ) 
X
dt  p CM (t )   Fext (t ) 

 

 L(t )   T(t ) 

 

Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• System of ordinary partial differential equations
• Initial boundary problem
• Structure x (t )  f (t , x(t ))
x(t 0 )  x 0
• In general, numeric solution (Integration)
– Explicit solve: Euler, Runge-Kutta
– Implicit solver
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Numerical Integration
• Initial value problem:
x (t )  f ( x, t )
• Simple approach: Euler
x(t  t )  x(t )  t f ( x, t )
• Derivation: Taylor expansion
x(t  t )  x(t )  t x (t )  O(t 2 )
• First order scheme
• Higher accuracy with smaller step size
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Numerical Integration
• Problems of Euler-Scheme
• Inaccurate
• Unstable
• Example: f (x, t)  kx
x(t)  e kt
Divergenz für t > 2/k
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Numerical Integration
• Midpoint method:
1. Euler-Step
x  t f ( x, t )
2. Evaluation of f at midpoint
x
t 

fmid  f  x 
,t  
2
2

3. Step with value at midpoint
x(t  t )  t fmid
• Second order scheme
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Numerical Integration
• Fourth order Runge-Kutta
k1  t f ( x, t )
k
t 

k 2  t f  x  1 , t  
2
2

k
t 

k 3  t f  x  2 , t  
2
2

k 4  t f x  k 3 , t  t 
x(t  t )  x 
 
k1 k 2 k 3 k 4



 O t 5
6 3
3
6
• Adaptive step size control
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Numerical Integration
• So far: Explicit techniques
• Stable integration by means of implicit integration
schemes
• Implicit Euler-Step
x(t  t )  x(t )  t f x(t  t ), t  t 
• „rewind“ the explicit Euler-Step
• Taylor-expansion around t + t instead of t
• Solving the non-linear system of equations for
x(t + t)
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Demo
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Rigid body simulation
• Summary
Translation
Rotation
Position rCM
Orientation R
Velocity vCM
Angular velocity 
Impuls pCM
Angular moment L
Forces Fext
Torque T
Mass M
Inertia tensor 
Simulation and Animation – SS07
Jens Krüger – Computer Graphics and Visualization Group
computer graphics & visualization
Related documents