- By
**silas** - Follow User

- 109 Views
- Uploaded on

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

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

- 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

- 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: Aristotle

- Motion as changing position

History I: Aristotle

- Called kinematics
- Games: move controller, stop on a dime, move again
- Not realistic

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: Galileo

- Force as changing velocity
- Velocity changes position
- Called dynamics

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: Newton

- Sum of forces sets acceleration
- Acceleration changes velocity
- Velocity changes position

g

History III: Newton

- Games: Move controller, add force, then drift

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

- 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

Differential Calculus Review

- Our function is position:
- Derivative is velocity:
- Derivative of velocity is acceleration

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

- Break into two parts
- Linear dynamics (position)
- Rotational dynamics (orientation)
- Simpler to start with position

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 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 = –mv

Linear Dynamics

- Need numeric solution
- Take stepwise approximation of function

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 Dynamics

- Euler’s method

Linear Dynamics

- Another way: use linear momentum
- Then

Linear: Final Formulas

- Using Euler’s method with time step h

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 Dynamics

- Orientation
- Represented by
- Rotation matrix R
- Quaternion q
- Which depends on your needs
- Hint: quaternions are cheaper

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 Dynamics

- Angular velocity
- Often need to know linear velocity at point
- Solution: cross product

v

r

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 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 Dynamics

- Torque
- Force equivalent
- Apply to offset from center of mass – creates rotation
- Add up torques just like forces

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

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 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 Angular Velocity

- Can’t easily integrate angular velocity from angular acceleration:
- Can no longer “divide” by I and do Euler step

Computing Angular Momentum

- Easier way: use angular momentum
- Then

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

Impulses

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

F

t

Summary

- Basic Newtonian dynamics
- Position, velocity, force, momentum
- Linear simulation
- Force -> acceleration -> velocity -> position
- Rotational simulation
- Torque -> ang. mom. -> ang. vel. -> orientation

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.

Download Presentation

Connecting to Server..