Spring Rigid Body Simulation
Spring Contents Unconstrained Collision Contact Resting Contact
Spring Review Particle Dynamics State vector for a single particle: System of n particles: Equation of Motion Solved by ODE Solvers (Euler, RK4, etc.)
Rigid Body Concepts Body space –Origin: center of mass p 0 : an arbitrary point on the rigid body, in body space. –Its world space location p(t) Spatial variables of the rigid body: 3-by-3 rotation matrix R(t) and x(t) 4 Spring 2013
5 Rotational Matrix Direction of the x, y, and z axes of the rigid body in world space at time t.
Spring Velocity Linear velocity Angular veclocity Spin: (t) How are R(t) and (t) related? Columns of dR(t)/dt: describe the velocity with which the x, y, and z axes are being transformed
Spring Rotate a Vector
Spring = = Change of R(t)
Spring Rigid Body as N particles Coordinate in body space
Spring Center of Mass World space coordinate Body space coord.
Spring Force and Torque Total force Total torque
Uniform Force Field No effect on the angular momentum 12 Spring 2013
13 Linear Momentum Single particle Rigid body as particles
Spring Angular Momentum I(t) — inertia tensor, a 3 3 matrix, describes how the mass in a body is distributed relative to the center of mass I(t) depends on the orientation of the body, but not the translation.
Spring Inertia Tensor
Spring Inertia Tensor
Spring [Moment of Inertia (ref)]ref Moment of inertia
Spring Table: Moment of Inertia
Inertia Tensor Table (ref)ref Solid sphere Hollow sphere Solid ellipsoid 19 Spring 2013
The Football in Flight (ref)ref Gravity does not exert torque Angular momentum stays the same 20 Spring 2013
21 Equation of Motion (3x3)
Spring Implementation (3x3)
Using Quaternion quaternion multiplication Unit quaternion as rotation Equation of motion quaternion derivative 23 Spring 2013 Later …
Spring Equation of Motion (quaternion) 3×3 matrix quaternion
Spring Implementation (quaternion)
Computing Qdot 26 Incremental rotation represented in quaternion: Spring 2013
27 Spring 2013
28 Non-Penetration Constraints
Spring Collision Detection (Particle)
Spring Colliding Contact
Spring Collision Relative velocity Only consider v rel < 0 Impulse J : J
Spring Impulse Calculation [See notes for details]
Spring Impulse Calculation For things don ’ t move (wall, floor):
Spring Resting Contact
Spring Solve the contact forces f i so that for Relative displacement at contact point i:
Spring In contact at t 0 : and we want: We need: Similar logic, we want:
Solving Contact Forces Spring First constraint on contact forces f i : Second constraint on f i (repulsive): Third constraint (no force when contact breaks) Quadric Programming (or Linear Complementarity Program to be exact)
Details (appendix D) Spring
Spring Exercise Implement a rigid block falling on a floor under gravity x y 5 3 thickness: 2 M = 6 Moments of inertia Ixx = ( )M/12 Iyy = ( )M/12 Izz = ( )M/12 Inertia tensor
Spring x y 5 3 Three walls