CS-184: Computer GraphicsLecture #22: Rigid Body DynamicsProf. James O’BrienUniversity of California, BerkeleyV2006-F-22-1.02TodayRigid-body dynamicsArticulated systems3A solid object that does not deformConsists of infinite number of infinitesimal mass points... ...that share a single RB transformationRotation + Translation (no shear or scale)Rotation and translation vary over timeLimit of deformable object as A Rigid BodyxW= R · xL+ tks→ ∞4A Rigid BodyIn 2D: In 3D: Translation 2 “directions”Rotation 1 “direction”Translation 3 “directions”Rotation 3 “direction”3 DOF Total6 DOF Total2D is boring... we’ll stick to 3D from now on...Translation and rotation are decoupledCenter of mass5Translational MotionvJust like a point mass:˙p = v˙v = a = f/mNote: Recall discussion on integration...6Rotational MotionvωRotation gets a bit odd, as well see...Rotational “position” Rotation matrix Exponential map QuaternionsRotational velocity Stored as a vector (Also called angular velocity...) Measured in radians / second Rω7Rotational MotionvωKinetic energy due to rotation:“Sum energy (from rotation) over all points in the object”E =!Ω12ρ˙x ·˙x duE =!Ω12ρ([ω×]x) · ([ω×]x) du8Rotational MotionvωAngular momentum Similar to linear momentum Can be derived from rotational energyHFigure is a lie if this really is a sphere...H =!Ωρ x ×˙x duH =!Ωρ x × (ω × x) duH =!"Ω· · · du#ωH = I ω“Inertia Tensor” not identity matrix...9Inertia TensorI =Z!"y2+ z2−xy −xz−xy z2+ x2−yz−xz −yz x2+ y2duSee example for simple shapes at http://scienceworld.wolfram.com/physics/MomentofInertia.htmlCan also be computed from polygon models by transforming volume integral to a surface one. See paper/code by Brian Mirtich. 10˙HW=˙RILRTωW+ RIL˙RTωW+ RILRTαWRotational MotionvωHFigure is a lie if this really is a sphere...HW= IWωWConservation or momentum:˙HW= 0˙R = ω × RHW= RILRTωWαW= (RILRT)−1(−ωW× HW)In other words, things wobble when they rotate.11Rotational MotionvωHFigure is a lie if this really is a sphere...Take care when integrating rotations, they need to stay rotations.αW= (RILRT)−1!(−ωW× HW) + τ"τ = f × x˙R = [ω×]R˙ω = α12CouplesA force / torque pair is a coupleAlso a wrench (I think)Many couples are equivalentτfτf13ConstraintsSimples method is to use spring attachmentsBasically a penalty methodSpring strength required to get good results may be unreasonably highThere are ways to cheat in some contexts...14ConstraintsArticulation constraintsSpring trick is an example of a full coordinate methodBetter constraint methods existReduced coordinate methods use DOFs in kinematic skeleton for simulationMuch more complex to explainCollisionsPenalty methods can also be used for collisionsAgain, better constraint methods exist15Suggested ReadingBrian Mirtich, ``Fast and Accurate Computation of Polyhedral Mass Properties,'' Journal of Graphics Tools, volume 1, number 2, 1996. http://www.cs.berkeley.edu/~jfc/mirtich/papers/volInt.psBrian Mirtich and John Canny, ``Impulse-based Simulation of Rigid Bodies,'' in Proceedings of 1995 Symposium on Interactive 3D Graphics, April 1995. http://www.cs.berkeley.edu/~jfc/mirtich/papers/ibsrb.psD. Baraff. Linear-time dynamics using Lagrange multipliers. Computer Graphics Proceedings, Annual Conference Series: 137-146, 1996. http://www.pixar.com/companyinfo/research/deb/sig96.pdfD. Baraff. Fast contact force computation for nonpenetrating rigid bodies. Computer Graphics Proceedings, Annual Conference Series: 23-34, 1994.
View Full Document