Dynamics 101 - PowerPoint PPT Presentation

About This Presentation
Title:

Dynamics 101

Description:

Integral calculus: areas and volumes. antiderivatives. 13. Differential Calculus Review ... Solid integral across shape. See Mirtich,Eberly for more details ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 46
Provided by: Gino2
Category:

less

Transcript and Presenter's Notes

Title: Dynamics 101


1
Dynamics 101
  • Jim Van Verth
  • Red Storm Entertainment
  • jimvv_at_redstorm.com

2
Talk Summary
  • Going to talk about
  • A brief history of motion theory
  • Newtonian motion for linear and rotational
    dynamics
  • Handling this in the computer

3
Physically Based-Motion
  • Want game objects to move consistent with world
  • Match our real-world experience
  • But this is a game, so
  • Cant be too expensive
  • (no atomic-level interactions)

4
History I Aristotle
  • Observed
  • Push an object, stop, it stops
  • Rock falls faster than feather
  • From this, deduced
  • Objects want to stop
  • Motion is in a line
  • Motion only occurs with action
  • Heavier object falls faster
  • Note was not actually beggar for a bottle

5
History I Aristotle
  • Motion as changing position

6
History I Aristotle
  • Called kinematics
  • Games move controller, stop on a dime, move
    again
  • Not realistic

7
History II Galileo
  • Observed
  • Object in motion slows down
  • Cannonballs fall equally
  • Theorized
  • Slows due to unseen force friction
  • Object in motion stays in motion
  • Object at rest stays at rest
  • Called inertia
  • Also force changes velocity, not position
  • Oh, and mass has no effect on velocity

8
History II Galileo
  • Force as changing velocity
  • Velocity changes position
  • Called dynamics

9
History III Newton
  • Observed
  • Planet orbit like continuous falling
  • Theorized
  • Planet moves via gravity
  • Planets and small objects linked
  • Force related to velocity by mass
  • Calculus helps formulate it all

10
History III Newton
  • Sum of forces sets acceleration
  • Acceleration changes velocity
  • Velocity changes position

g
11
History III Newton
  • Games Move controller, add force, then drift

12
History III Newton
  • As mentioned, devised calculus
  • (concurrent with Leibniz)
  • Differential calculus
  • rates of change
  • Integral calculus
  • areas and volumes
  • antiderivatives

13
Differential Calculus Review
  • Have position function x(t)
  • Derivative x'(t) describes how x changes as t
    changes (also written dx/dt, or )
  • x'(t) gives tangent vector at time t

x(ti)
y
x'(ti)
y(t)
t
14
Differential Calculus Review
  • Our function is position
  • Derivative is velocity
  • Derivative of velocity is acceleration

15
Newtonian Dynamics Summary
  • All objects affected by forces
  • Gravity
  • Ground (pushing up)
  • Other objects pushing against it
  • Force determines acceleration (F ma)
  • Acceleration changes velocity ( )
  • Velocity changes position ( )

16
Dynamics on Computer
  • Break into two parts
  • Linear dynamics (position)
  • Rotational dynamics (orientation)
  • Simpler to start with position

17
Linear Dynamics
  • Simulating a single object with
  • Last frame position xi
  • Last frame velocity vi
  • Mass m
  • Sum of forces F
  • Want to know
  • Current frame position xi1
  • Current frame velocity vi1

18
Linear Dynamics
  • Could use Newtons equations
  • Problem assumes F constant across frame
  • Not always true
  • E.g. spring force Fspring kx
  • E.g. drag force Fdrag m?v

19
Linear Dynamics
  • Need numeric solution
  • Take stepwise approximation of function

20
Linear Dynamics
  • Basic idea derivative (velocity) is going in the
    right direction
  • Step a little way in that direction (scaled by
    frame time h)
  • Do same with velocity/acceleration
  • Called Eulers method

21
Linear Dynamics
  • Eulers method

22
Linear Dynamics
  • Another way use linear momentum
  • Then

23
Linear Final Formulas
  • Using Eulers method with time step h

24
Rotational Dynamics
  • Simulating a single object with
  • Last frame orientation Ri or qi
  • Last frame angular velocity ?i
  • Inertial tensor I
  • Sum of torques ?
  • Want to know
  • Current frame orientation Ri1 or qi1
  • Current frame ang. velocity ?i1

25
Rotational Dynamics
  • Orientation
  • Represented by
  • Rotation matrix R
  • Quaternion q
  • Which depends on your needs
  • Hint quaternions are cheaper

26
Rotational Dynamics
  • Angular velocity
  • Represents change in rotation
  • How fast object spinning
  • 3-vector
  • Direction is axis of rotation
  • Length is amount of rotation (in radians)
  • Ccw around axis (r.h. rule)

27
Rotational Dynamics
  • Angular velocity
  • Often need to know linear velocity at point
  • Solution cross product

v
r
28
Moments of Inertia
  • Inertial tensor
  • I is rotational equivalent of mass
  • 3 x 3 matrix, not single scalar factor (unlike m)
  • Many factors - rotation depends on shape
  • Describe how object rotates around various axes
  • Not always easy to compute
  • Change as object changes orientation

29
Rotational Dynamics
  • Computing I
  • Can use values for closest box or cylinder
  • Alternatively, can compute based on geometry
  • Assume constant density, constant mass at each
    vertex
  • Solid integral across shape
  • See Mirtich,Eberly for more details
  • Blow and Melax do it with sums of tetrahedra

30
Rotational Dynamics
  • Torque
  • Force equivalent
  • Apply to offset from center of mass creates
    rotation
  • Add up torques just like forces

31
Rotational Dynamics
  • Computing torque
  • Cross product of vector r (from CoM to point
    where force is applied), and force vector F
  • Applies torque ccw around vector (r.h. rule)

r
F
32
Rotational Dynamics
  • Center of Mass
  • Point on body where applying a force acts just
    like single particle
  • Balance point of object
  • Varies with density, shape of object
  • Pull/push anywhere but CoM, get torque
  • Generally falls out of inertial tensor calculation

33
Rotational Dynamics
  • Have matrix R and vector ?
  • How to compute ?
  • Convert ? to give change in R
  • Convert to symmetric skew matrix
  • Multiply by orientation matrix
  • Can use Euler's method after that

34
Computing New Orientation
  • If have matrix R, then

where
35
Computing New Orientation
  • If have quaternion q, then
  • See Baraff or Eberly for derivation

where
36
Computing Angular Velocity
  • Cant easily integrate angular velocity from
    angular acceleration
  • Can no longer divide by I and do Euler step

37
Computing Angular Momentum
  • Easier way use angular momentum
  • Then

38
Using I in World Space
  • Remember,
  • I computed in local space, must transform to
    world space
  • If using rotation matrix R, use formula
  • If using quaternion, convert to matrix

39
Rotational Formulas
40
Impulses
  • Normally force acts over period of time
  • E.g., pushing a chair

F
t
41
Impulses
  • Even if constant over frame
  • sim assumes application over entire time

F
t
42
Impulses
  • But if instantaneous change in velocity?
    Discontinuity!
  • Still force, just instantaneous
  • Called impulse - good for collisions/constraints

F
t
43
Summary
  • Basic Newtonian dynamics
  • Position, velocity, force, momentum
  • Linear simulation
  • Force -gt acceleration -gt velocity -gt position
  • Rotational simulation
  • Torque -gt ang. mom. -gt ang. vel. -gt orientation

44
Questions?
45
References
  • Burden, Richard L. and J. Douglas Faires,
    Numerical Analysis, PWS Publishing Company,
    Boston, MA, 1993.
  • Hecker, Chris, Behind the Screen, Game
    Developer, Miller Freeman, San Francisco, Dec.
    1996-Jun. 1997.
  • Witken, Andrew, David Baraff, Michael Kass,
    SIGGRAPH Course Notes, Physically Based
    Modelling, SIGGRAPH 2002.
  • Eberly, David, Game Physics, Morgan Kaufmann,
    2003.
Write a Comment
User Comments (0)
About PowerShow.com