Spring 2002
Professor Brogan
• Who wants a midterm instead of an assignment?
• Final will be take home
• Cloth/water/parallel particle sim presentations
– Volunteers?
– Papers selected by Thursday
• References
– Text book (4.3 and Appendix B)
– Physics for Game Developers (Bourg)
– Chris Hecker Game Developer articles
• http://www.d6.com/users/checker/dynamics.htm
• The physics-based equations that define how objects move
– Gravity
– Turbulence
– Contact forces with objects
– Friction
– Joint constraints
Current State
Position and velocity
Integrate
Velocities
Equations of
Motion
Forces
Integrate
Accelerations
Integrate
• Linear motions: r ( t )
v ( t )
v ( t ) dt
a ( t ) dt
• Example:
– Constant acceleration of
5 m/s 2 v ( t ) v ( 0 )
a dt
5 ( 0 )
C
5 dt v
0
C v ( t )
5 t
v
0
5 t
C r ( t )
v ( t ) dt
5 t
v
0 dt
5
2 t
2 v
0 t
r
0
• Mass times velocity = linear momentum, p p
m v
• Newton’s Second Law
F
d p dt
d ( m v
) dt
m v
m a
Ceasing to identify vectors…
• Imagine a rigid body as a set of point masses
• Total momentum, p T, is sum of momentums of all points: p
T m i v i i
• Center of Mass (CM) is a single point. Vector to CM is linear combination of vectors to all points in rigid r body weighted by their masses,
CM divided by total mass of body
i m i r i
M
• Rewrite total momentum in terms of CM p
T i m i v i i d ( m i r i
) dt
d ( Mr
CM
) dt
• Total linear momentum equals total mass times the velocity of the center of mass
(For continuous rigid bodies, all summations turn into integrals over the body, but CM still exists)
• We can treat all bodies as single point mass and velocity
• Total force is derivative of the total momemtum
– Again, CM simplifies total force equation of a rigid body
F
T T
M v CM
Ma
CM
– We can represent all forces acting on a body as if their vector sum were acting on a point at the center of mass with the mass of the entire body
• Divide a force by M to find acceleration of the center of mass
• Integrate acceleration over time to get the velocity and position of body
• Note we’ve ignored where the forces are applied to the body
• In linear momentum, we don’t keep track of the angular terms and all forces are applied to the CM.
• A DifEq is an equation with
– Derivatives of the dependent variable
– Dependent variable
– Independent variable
• Ex: a
dv dt
v m
• v ’s derivative is a function of its current value
• Ordinary refers to ordinary derivatives
– As opposed to partial derivatives
• Analytically solving ODEs is complicated
• Numerically integrating ODEs is much easier (in general)
– Euler’s Method
– Runge-Kutta
• Based on calculus definition of first derivative = slope
• Use derivative at time n to integrate h units forward y n
1
y n
h dy n dx
• Depending on ‘time step’ h , errors will accumulate
SIGGRAPH Course Notes
SIGGRAPH Course Notes
• Let’s remain in 2-D plane for now
• In addition to kinematic variables
– x, y positions
• Add another kinematic variable
– W angle
– CCW rotation of object axes relative to world axes
• w is the angular velocity d
2 W
dt
2 d w dt
w a
• a is the angular acceleration
• How do we combine linear and angular quantities?
• Consider velocity of a point, B, of a rigid body rotating about its CM v
B w r
OB
• r_perp is perpendicular to r vector from O to B
• Velocity is w
-scaled perpendicular vector from origin to point on body
• Point B travels W radians
• Point B travels C units
• Radius of circle is r
• C= W r
– By definition of radians, where circumference = 2 p r
• B’s speed (magnitude of velocity vector)
– Differentiate C= W r w.r.t. time d (
W dt r )
d
W dt r
w r
• The direction of velocity is tangent to circle == perpendicular to radius
• Therefore, linear velocity is angular velocity multiplied by tangent vector
• Any movement is decomposed into:
– Movement of a single point on body
– Rotation of body about that point
• Linear and Angular Components v
B v
O w r
OB
• The angular momentum of point B about point A (we always measure angular terms about some point)
• It’s a measure of how much of point B’s linear momentum is rotating around A
L
AB r
AB p
B
• Check: If linear momentum, p B , is perpendicular to r_perp, then dot product of two will cause angular momentum will be zero
• Derivative of Angular Momentum
– Remember force was derivative of linear momentum
dL dt
AB
d ( r
AB dt p
B )
r
AB ma
B r
A B
F
B
– This measures how much of a force applied at point B is used to rotate about point A, the torque
• Total angular momentum about point A is denoted L AT
L
AT i r
Ai p i
r
Ai m i v i i
• But computation can be expensive to sample all points
• Sampling of a surface would require surface integration
• Remember v
B w r
OB
L
AT
i
i r
Ai p i r
Ai m i v i
– An alternate way of representing the velocity of a point in terms of angular velocity
• If A is like the origin i is like B, then substitute
L
AT
i w w r
i
i
Ai m i w r
m i r
m i
( r
Ai r
Ai
)
2
Ai
Ai
w
I
A
A
• The sum of squared distances from point A to each other point in the body, and each squared distance is scaled by the mass of each point
i m i
( r
Ai
)
2
I
A
• This term characterizes how hard it is to rotate something
– I pencil_center will be much less than I pencil_tip
• Differentiate total angular momentum to get total torque
AT
dL
AT
I dt
A w
d ( I
A w
)
I A a
• This relates total torque and the body’s angular acceleration through the scalar moment of inertia
• Calculate COM and MOI of rigid body
• Set initial position and linear/angular velocities
• Figure out all forces and their points of application
• Sum all forces and divide by mass to find COM’s linear acceleration
• For each force, compute perp-dot-product from COM to point of force application and add value into total torque of COM
• Divide total torque by the MOI at the COM to find angular acceleration
• Numerically integrate linear/angular accelerations to update the position/orientation and linear/angular velocities
• Draw body in new position and repeat
• Collisions
• 3-dimensional rigid bodies (inertia tensors)
• Forces (centripetal, centrifugal, viscosity, friction, contact)
• Constrained dynamics (linked bodies)