1 / 45

Dynamics 101

Dynamics 101. Jim Van Verth Red Storm Entertainment jimvv@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.

Download Presentation

Dynamics 101

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dynamics 101 Jim Van Verth Red Storm Entertainment jimvv@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… • Can’t 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 xi+1 • Current frame velocity vi+1

  18. 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

  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 Euler’s method

  21. Linear Dynamics • Euler’s method

  22. Linear Dynamics • Another way: use linear momentum • Then

  23. Linear: Final Formulas • Using Euler’s 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 Ri+1 or qi+1 • Current frame ang. velocity i+1

  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 matrixR, then where

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

  36. Computing Angular Velocity • Can’t 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 -> acceleration -> velocity -> position • Rotational simulation • Torque -> ang. mom. -> ang. vel. -> 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.

More Related