This Article 
 Bibliographic References 
 Add to: 
A Fast Impulsive Contact Suite for Rigid Body Simulation
March/April 2004 (vol. 10 no. 2)
pp. 189-197

Abstract—A suite of algorithms is presented for contact resolution in rigid body simulation under the Coulomb friction model: Given a set of rigid bodies with many contacts among them, resolve dynamic contacts (collisions) and static (persistent) contacts. The suite consists of four algorithms: 1) partial sequential collision resolution, 2) final resolution of collisions through the solution of a single convex QP (positive semidefinite quadratic program), 3) resolution of static contacts through the solution of a single convex QP, 4) freezing of "stationary” bodies. This suite can generate realistic-looking results for simple examples yet, for the first time, can also tractably resolve contacts for a simulation as large as 1,000 cubes in an "hourglass.” Freezing speeds up this simulation by more than 25 times. Thanks to excellent commercial QP technology, the contact resolution suite is simple to implement and can be "plugged into” any simulation algorithm to provide fast and realistic-looking animations of rigid bodies.

[1] D. Baraff and A. Witkin, Physically Based Modeling SIGGRAPH '98 Course Notes, July 1998.
[2] D. Baraff, Analytical Methods for Dynamic Simulation of Non-Penetrating Rigid Bodies SIGGRAPH '89 Conf. Proc., pp. 223-232, 1989.
[3] D. Baraff, Coping with Friction for Non-Penetrating Rigid Body Simulation SIGGRAPH '91 Conf. Proc., vol. 25, no. 4, pp. 31-40, July 1991.
[4] D. Baraff, Fast Contact Force Computation for Nonpenetrating Rigid Bodies SIGGRAPH '94 Conf. Proc., pp. 23-34, 1994.
[5] D. Baraff and A. Witkin, Large Steps in Cloth Simulation SIGGRAPH '98 Conf. Proc., pp. 43-52, 1998.
[6] J.A. Batlle, The Sliding Velocity Flow of Rough Collisions in Multibody Systems J. Applied Mechanics, vol. 63, pp. 804-809, Sept. 1996.
[7] J.A. Batlle and S. Cardona, The Jamb (Self-Locking) Process in Three-Dimensional Collisions J. Applied Mechanics, vol. 65, pp. 417-423, June 1998.
[8] V. Bhatt and J. Koechling, Three-Dimensional Frictional Rigid-Body Impact J. Applied Mechanics, vol. 62, pp. 893-898, Dec. 1995.
[9] R.M. Brach, Rigid Body Collisions J. Applied Mechanics, vol. 56, pp. 133-138, Mar. 1989.
[10] R. Bridson, R. Fedkiw, and J. Anderson, Robust Treatment of Collisions, Contact and Friction for Cloth Animation ACM Trans. Graphics, vol. 21, no. 3, pp. 594-603, July 2002.
[11] A. Chatterjee and A. Ruina, A New Algebraic Rigid-Body Collision Law Based on Impulse Space Considerations J. Applied Mechanics, vol. 65, pp. 939-950, Dec. 1998.
[12] R.K. Cottle, J.-S. Pang, and R.E. Stone, The Linear Complementarity Problem. Academic Press, 1992.
[13] R. Fedkiw, J. Stam, and H.W. Jensen, Visual Simulation of Smoke SIGGRAPH '01 Conf. Proc., pp. 15-22, Aug. 2001.
[14] M.C. Ferris and F. Tin-Loi, Limit Analysis of Frictional Block Assemblies as a Mathematical Program with Complementarity Constraints Technical Report 99-01, Computer Sciences Dept., Univ. of Wisconsin, Feb. 1999.
[15] N. Foster and R. Fedkiw, Practical Animation of Liquids SIGGRAPH '01 Conf. Proc., pp. 23-30, Aug. 2001.
[16] M. Fu, Z.Q. Luo, and Y. Ye, Approximation Algorithms for Quadratic Programming J. Combinatorial Optimization, vol. 2, pp. 29-50, 1998.
[17] H. Goldstein, Klassische Mechanik, 11th ed. Wiesbaden: AULA Verlag, 1991.
[18] J.K. Hahn, Realistic Animation of Rigid Bodies SIGGRAPH '88 Conf. Proc., vol. 22, no. 4, pp. 299-308, Aug. 1988.
[19] J.B. Keller, Impact with Friction J. Applied Mechanics, vol. 53, pp. 1-4, Mar. 1986.
[20] P. Lötstedt, Coulomb Friction in Two-Dimensional Rigid Body Systems Zeitschrift für angewandte Mathematik und Mechanik, vol. 61, pp. 605-615, 1981.
[21] P. Lötstedt, Numerical Simulation of Time-Dependent Contact and Friction Problems in Rigid Body Mechanics SIAM J. Scientific and Statistical Computing, vol. 5, no. 2, pp. 370-393, June 1984.
[22] D.B. Marghitu and Y. Hurmuzlu, Three-Dimensional Rigid-Body Collisions with Multiple Contact Points J. Applied Mechanics, vol. 62, pp. 725-732, Sept. 1995.
[23] V.J. Milenkovic, Position-Based Physics: Simulating the Motion of Many Highly Interacting Spheres and Polyhedra SIGGRAPH '96 Conf. Proc., pp. 129-136, 1996.
[24] V.J. Milenkovic and H. Schmidl, Optimization-Based Animation SIGGRAPH '01 Conf. Proc., pp. 37-46, 2001.
[25] B. Mirtich, Impulse-Based Simulation of Rigid Bodies Proc. 1995 Symp. Interactive 3D Graphics, pp. 181-189, 1995.
[26] B. Mirtich, Impulse-Based Dynamic Simulation of Rigid Body Systems PhD thesis, Univ. of California, Berkeley, Dec. 1996.
[27] B. Mirtich, Timewarp Rigid Body Simulation SIGGRAPH '00 Conf. Proc., pp. 193-200, 2000.
[28] M. Moore and J. Wilhelms, Collision Detection and Response for Computer Animation SIGGRAPH '88 Conf. Proc., pp. 289-297, 1988.
[29] J.J. Moreau, Quadratic Programming in Mechanics: Dynamics of One-Sided Constraints SIAM Control, vol. 4, no. 1, pp. 153-158, 1966.
[30] J.J. Moreau, Standard Inelastic Shocks and the Dynamics of Unilateral Constraints Unilateral Problems in Structural Analysis, pp. 171-221, 1985.
[31] J.J. Moreau, Unilateral Contact and Dry Friction in Finite Freedom Dynamics Nonsmooth Mechanics and Applications, pp. 1-82, 1988.
[32] J.J. Moreau, Numerical Aspects of the Sweeping Process Computer Methods in Applied Mechanics and Eng., pp. 329-349, 1999.
[33] I. Newton, Philosophiae Naturalis Principia Mathematica. London Reg. Soc. Praeses, 1686.
[34] P. Painlevé, Sur le Lois du Frottement de Glissemment C. R. Acad. Sci. Paris, vol. 121, pp. 112-115, 1895.
[35] J.S. Pang and J.C. Trinkle, Complementarity Formulations and Existence of Solutions of Dynamic Multi-Rigid-Body Contact Problems with Coulomb Friction Math. Programming, vol. 73, pp. 199-226, 1996.
[36] M.B. Rubin, Physical Restrictions on the Impulse Acting during Three-Dimensional Impact of Two 'Rigid' Bodies J. Applied Mechanics, vol. 65, pp. 464-469, June 1998.
[37] H. Schmidl, Optimization-Based Animation PhD thesis, Dept. of Computer Science, Univ. of Miami, May 2002.
[38] C.E. Smith and P.-P. Liu, Coefficients of Restitution J. Applied Mechanics, vol. 59, pp. 963-969, Dec. 1992.
[39] D. Stewart and J.C. Trinkle, An Implicit Time Stepping Scheme for Rigid Body Dynamics with Inelastic Collisions and Coulomb Friction Zeitschrift für Angewandte Mathematik und Mechanik, vol. 77, no. 4, pp. 267-279, 1997.
[40] D.E. Stewart, Rigid-Body Dynamics with Friction and Impact SIAM Rev., vol. 42, no. 1, pp. 3-39, 2000.
[41] W.J. Stronge, Rigid Body Collisions with Friction Proc. Royal Soc. London, 1990.
[42] J.C. Trinkle, J.A. Tzitzouris, and J.S. Pang, Dynamic Multi-Rigid-Body Systems with Concurrent Distributed Contacts: Theory and Examples Philosophical Trans. Math., Physical, and Eng. Sciences, vol. 359, no. 1789, pp. 2575-2593, Dec. 2001.

Index Terms:
Quadratic programming, computer graphics, physically-based modeling, simulation, animation.
Harald Schmidl, Victor J. Milenkovic, "A Fast Impulsive Contact Suite for Rigid Body Simulation," IEEE Transactions on Visualization and Computer Graphics, vol. 10, no. 2, pp. 189-197, March-April 2004, doi:10.1109/TVCG.2004.1260770
Usage of this product signifies your acceptance of the Terms of Use.