dynamics 101 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Dynamics 101 PowerPoint Presentation
Download Presentation
Dynamics 101

Loading in 2 Seconds...

play fullscreen
1 / 45

Dynamics 101 - PowerPoint PPT Presentation

  • Uploaded on

Dynamics 101. Marq Singer Red Storm Entertainment marqs@redstorm.com. Talk Summary. Going to talk about: A brief history of motion theory Newtonian motion for linear and rotational dynamics Handling this in the computer. Physically Based-Motion.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Dynamics 101' - silas

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
dynamics 101

Dynamics 101

Marq Singer

Red Storm Entertainment


talk summary
Talk Summary
  • Going to talk about:
    • A brief history of motion theory
    • Newtonian motion for linear and rotational dynamics
    • Handling this in the computer
physically based motion
Physically Based-Motion
  • Want game objects to move consistent with world
  • Match our real-world experience
  • But this is a game, so…
  • Can’t be too expensive
  • (no atomic-level interactions)
history i aristotle
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
history i aristotle1
History I: Aristotle
  • Motion as changing position
history i aristotle2
History I: Aristotle
  • Called kinematics
  • Games: move controller, stop on a dime, move again
  • Not realistic
history ii galileo
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
history ii galileo1
History II: Galileo
  • Force as changing velocity
  • Velocity changes position
  • Called dynamics
history iii newton
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
history iii newton1
History III: Newton
  • Sum of forces sets acceleration
  • Acceleration changes velocity
  • Velocity changes position


history iii newton2
History III: Newton
  • Games: Move controller, add force, then drift
history iii newton3
History III: Newton
  • As mentioned, devised calculus
    • (concurrent with Leibniz)
  • Differential calculus:
    • rates of change
  • Integral calculus:
    • areas and volumes
    • antiderivatives
  • Did not invent the Fig Newton™
differential calculus review
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






differential calculus review1
Differential Calculus Review
  • Our function is position:
  • Derivative is velocity:
  • Derivative of velocity is acceleration
newtonian dynamics summary
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 ( )
dynamics on computer
Dynamics on Computer
  • Break into two parts
    • Linear dynamics (position)
    • Rotational dynamics (orientation)
  • Simpler to start with position
linear dynamics
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 xi+1
    • Current frame velocity vi+1
linear dynamics1
Linear Dynamics
  • Could use Newton’s equations
  • Problem: assumes F constant across frame
  • Not always true:
    • E.g. spring force: Fspring = –kx
    • E.g. drag force: Fdrag = –mv
linear dynamics2
Linear Dynamics
  • Need numeric solution
  • Take stepwise approximation of function
linear dynamics3
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 Euler’s method
linear dynamics4
Linear Dynamics
  • Euler’s method
linear dynamics5
Linear Dynamics
  • Another way: use linear momentum
  • Then
linear final formulas
Linear: Final Formulas
  • Using Euler’s method with time step h
rotational dynamics
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 Ri+1 or qi+1
    • Current frame ang. velocity i+1
rotational dynamics1
Rotational Dynamics
  • Orientation
    • Represented by
      • Rotation matrix R
      • Quaternion q
    • Which depends on your needs
    • Hint: quaternions are cheaper
rotational dynamics2
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)
rotational dynamics3
Rotational Dynamics
  • Angular velocity
    • Often need to know linear velocity at point
    • Solution: cross product



moments of inertia
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
rotational dynamics4
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
rotational dynamics5
Rotational Dynamics
  • Torque
    • Force equivalent
    • Apply to offset from center of mass – creates rotation
    • Add up torques just like forces
rotational dynamics6
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)



rotational dynamics7
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
rotational dynamics8
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
computing new orientation
Computing New Orientation
  • If have matrixR, then


computing new orientation1
Computing New Orientation
  • If have quaternion q, then
  • See Baraff or Eberly for derivation


computing angular velocity
Computing Angular Velocity
  • Can’t easily integrate angular velocity from angular acceleration:
  • Can no longer “divide” by I and do Euler step
computing angular momentum
Computing Angular Momentum
  • Easier way: use angular momentum
  • Then
using i in world space
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
  • Normally force acts over period of time
  • E.g., pushing a chair



  • Even if constant over frame

sim assumes application over entire time



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



  • Basic Newtonian dynamics
    • Position, velocity, force, momentum
  • Linear simulation
    • Force -> acceleration -> velocity -> position
  • Rotational simulation
    • Torque -> ang. mom. -> ang. vel. -> orientation
  • 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.