Rigid Body Dynamics and Beyond 1
Rigid Bodies 3
A rigid body Collection of particles Distance between any two particles is always constant What types of motions preserve these constraints? Translation, rotation 4
Rigid Body Parameterization (reduced coordinates) x(t) 0 p 0 p(t) p t = x t + R t p 0 position orientation 5
Body Orientation Rotates vectors from body to world coordinates Columns of R t encode world coordinates of body axes 6
Center of Mass (COM) Geometric center of the body (0,0,0) in body coordinates x t in world coordinates Geometric center: σ m i p 0i (0,0,0) M = m i COM: σ m ip i (t) M = x(t) 0 p 0i
Body velocities How do the COM position and orientation change with time? Linear velocity: v t = dx(t) dt = x(t) ሶ Angular velocity: ω t =? ω t encodes spin direction and magnitude What is the relationship between ω t and R t? 8
Angular velocity Consider vector r t. What is rሶ t? rሶ t = ω(t) r(t) Relation to ሶ R t = dr t dt? 9
Angular Velocity R rotates vectors from body to world coords Columns of R t : world coordinates of body axes Columns of Rሶ t : change of body axes world coordinates wrt time x ሶ t = ω(t) x (t) y ሶ t = ω(t) y (t) z ሶ t = ω(t) z (t) Putting these all together: ሶ R t =ω t R(t) 10
Recall a 11
ሶ Summary Kinematics: how does the body move? p t, R t v t = dx(t) dt ሶ R t =ω t R(t) = x(t) ሶ p t = x t + R t p 0 p t = xሶ t + ω t R t p 0 = xሶ t + ω t (p t x(t)) Dynamics: what causes this motion? 12
Forces and Torques External forces: acting on individual particles Net force on body: F = σ F i Conservation of linear momentum (Newton s 2 nd law): p = Mv; p ሶ = F Analogous concepts for angular motion 13
Forces and Torques Forces on individual particles generate torques - (consequence of constant inter-particle distance) Net torque on body: τ = σ τ i = σ r i f i 14
Forces and Torques Forces on individual particles generate torques - (consequence of constant inter-particle distance) Net torque on body: τ = σ τ i = σ r i f i Conservation of angular momentum: L = Iω; ሶ L = τ What is I? Moment of Inertia tensor 15
The Inertia Tensor Analogous to mass, but for rotational motions - quantifies distribution of mass as a 2 nd order tensor I = RI b R T I b = m i (p T 0i p 0i 1 p 0i p T 0i ) i Body-coords MOI is constant, can be precomputed easy to look up for common shapes! World-cords MOI changes with time! 16
Conservation of Linear and Angular Linear Momentum: Momenta p = Mv; p ሶ = F; v ሶ = 1 M F Angular Momentum: L = Iω; ሶ L = τ; ω ሶ = I 1 (τ ω Iω) Note: they are decoupled! 17
Numerical Integration COM Acceleration Velocity Position Easy: v t+1 = v t + Δt ሶ v; x t+1 = x t + Δtv t+1 Angular Acceleration Angular Velocity Easy:ω t+1 = ω t + Δtωሶ Angular Velocity to Rotations? A bit trickier: R t+1 = R t + Δt ሶ R t+1? 18
Updating Rotations R t+1 = R t + ΔtRሶ t+1 = R t + Δtω t+1 R t = (I + Δtω t+1 ) R t No longer a rotation matrix! Option 1: orthonormalize (Gram Schmidt) Option 2: explicitly compute rotation R Δt due to spinning with angular speed ω t+1 for Δt seconds, apply incremental rotations: R t+1 = R Δt R t NOTE: same concept applies if other rotation parameterizations (i.e. quaternions) are employed 19
Computing forces Given a set of forces, you know how to compute the motion of a rigid body Where do forces come from? User interaction Gravity 20
Rigid Bodies 21
Computing forces Given a set of forces, you know how to compute the motion of a rigid body Where do forces come from? User interaction Gravity Collisions and contacts 22
Collision Response 23
Collision Response 24
Collision Response 25
Collision Response 26
Collision Response 27
Collision Response Nonconvex Rigid Bodies with Stacking, Guendelman et al., SIGGRAPH 2003 28
Computing forces Given a set of forces, you know how to compute the motion of a rigid body Where do forces come from? User interaction Gravity Collisions and contacts Easiest way to model: spring penalty forces Articulation 29
Articulated Rigid Body Dynamics 30
Computing forces Given a set of forces, you know how to compute the motion of a rigid body Where do forces come from? User interaction Gravity Collisions and contacts Easiest way to model: spring penalty forces Articulation Easiest way to model: spring penalty forces 31
Artistic control over rigid body simulations Many-Worlds Browsing for Control of Multibody Dynamics Twigg and James, 2007
Many Worlds Browsing Sampling Plausible Worlds v t+1 ` v t compute and apply impulse [O Sullivan et al., 2003]
Many Worlds Browsing Interactive Browsing various criteria
Many Worlds Browsing
For more information An Introduction to Physically Based Modeling: - http://www.cs.cmu.edu/~baraff/pbm/