This chapter presents the theoretical and practical aspects of designing and implementing dynamic-simulation engines for rigid-body systems. It covers both generic and specialized algorithms for non-convex and convex objects, respectively, including the special cases of thin and fast moving objects. Special attention is given to one of the most difficult and least understood topics in physically based modeling, namely, the computational techniques needed for determining all impulsive and contact forces between bodies with multiple simultaneous collisions and contacts.


Rigid Body Contact Force Convex Body Collision Detection Collision Time 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [Bar89]
    Baraff, D.: Analytical methods for dynamic simulation of non-penetrating rigid bodies. Comput. Graph. (Proc. SIGGRAPH) 23, 223–232 (1989) CrossRefGoogle Scholar
  2. [Bar90]
    Baraff, D.: Curved surfaces and coherence for non-penetrating rigid body simulations. Comput. Graph. (Proc. SIGGRAPH) 24, 19–28 (1990) CrossRefGoogle Scholar
  3. [Bar91]
    Baraff, D.: Coping with friction for non-penetrating rigid body simulation. Comput. Graph. (Proc. SIGGRAPH) 25, 31–40 (1991) CrossRefGoogle Scholar
  4. [Bar92]
    Baraff, D.: Dynamic simulation of non-penetrating rigid bodies. PhD Thesis, Cornell University (1992) Google Scholar
  5. [Bar94]
    Baraff, D.: Fast contact force computation for non-penetrating rigid bodies. Comput. Graph. (Proc. SIGGRAPH) 28, 24–29 (1994) CrossRefGoogle Scholar
  6. [BJ77b]
    Beer, F.P., Johnston, E.R.: Vector Mechanics for Engineers: vol. 2—Dynamics. McGraw-Hill, New York (1977) Google Scholar
  7. [Bra91]
    Brach, R.M. (ed.): Mechanical Impact Dynamics: Rigid Body Collisions. Wiley, New York (1991) Google Scholar
  8. [BW97]
    Baraff, D., Witkin, A.: Partitioned dynamics. Technical Report CMU-RI-TR-97-33, The Robotics Institute at Carnegie Mellon University (1997) Google Scholar
  9. [BW98]
    Baraff, D., Witkin, A.: Physically based modeling. SIGGRAPH Course Notes 13 (1998) Google Scholar
  10. [Cam97]
    Cameron, S.: Enhancing GJK: computing minimum and penetration distances between convex polyhedra. In: Proceedings IEEE International Conference on Robotics and Automation, pp. 3112–3117 (1997) CrossRefGoogle Scholar
  11. [CKS98]
    Campagna, S., Kobbelt, L., Seidel, H.-P.: Directed edges: a scalable representation for triangle meshes. J. Graph. Tools 3(4), 1–11 (1998) CrossRefGoogle Scholar
  12. [dBvKOS97]
    de Berg, M., van Kreveld, M., Overmars, M., Schwartskopf, O.: Computational Geometry: Algorithms and Applications. Springer, Berlin (1997) MATHGoogle Scholar
  13. [DER86]
    Duff, I.S., Erisman, A.M., Reid, J.K.: Direct Methods for Sparse Matrices. Oxford University Press, London (1986) MATHGoogle Scholar
  14. [GJK88]
    Gilbert, E.G., Johnson, D.W., Keerthi, S.S.: A fast procedure for computing the distance between complex objects in three-dimensional space. IEEE J. Robot. Autom. 4(2), 193–203 (1988) CrossRefGoogle Scholar
  15. [Gol50]
    Goldstein, H.: Classical Mechanics. Addison-Wesley, Reading (1950) Google Scholar
  16. [Hah88]
    Hahn, J.K.: Realistic animation of rigid bodies. Comput. Graph. (Proc. SIGGRAPH), 299–308 (1988) Google Scholar
  17. [Kel86]
    Keller, J.B.: Impact with friction. Trans. ASME J. Appl. Mech. 53, 1–4 (1986) MathSciNetMATHCrossRefGoogle Scholar
  18. [KSK97]
    Kawachi, K., Suzuki, H., Kimura, F.: Simulation of rigid body motion with impulsive friction force. In: Proceedings IEEE International Symposium on Assembly and Task Planning, pp. 182–187 (1997) Google Scholar
  19. [Löt84]
    Lötstedt, P.: Numerical simulation of time-dependent contact friction problems in rigid-body mechanics. SIAM J. Sci. Stat. Comput. 5(2), 370–393 (1984) MATHCrossRefGoogle Scholar
  20. [Mir96b]
    Mirtich, B.V.: Impulse-based dynamic simulation of rigid body systems. PhD Thesis, University of California, Berkeley (1996) Google Scholar
  21. [Mir97]
    Mirtich, B.: V-clip: fast and robust polyhedral collision detection. Technical Report TR-97-05, MERL: A Mitsubishi Electric Research Laboratory (1997) Google Scholar
  22. [Mir98]
    Mirtich, B.: Rigid body contact: collision detection to force computation. Technical Report TR-98-01, MERL: A Mitsubishi Electric Research Laboratory (1998) Google Scholar
  23. [OG97]
    Ong, C.J., Gilbert, Elmer G.: The Gilbert–Johnson–Keerthi distance algorithm: a fast version for incremental motions. In: Proceedings IEEE International Conference on Robotics and Automation, pp. 1183–1189 (1997) Google Scholar
  24. [O’R98]
    O’Rourke, J.: Computational Geometry in C. Cambridge University Press, Cambridge (1998) MATHCrossRefGoogle Scholar
  25. [Sha10]
    Shabana, A.A.: Computational Dynamics. Wiley, New York (2010) MATHCrossRefGoogle Scholar
  26. [Ski97]
    Skiena, S.: The Algorithm Design Manual. Springer, Berlin (1997) MATHGoogle Scholar
  27. [TW98]
    Thürmer, G., Wüthrich, C.A.: Computing vertex normals from polygonal facets. J. Graph. Tools 3(1), 43–46 (1998) MATHCrossRefGoogle Scholar
  28. [vdB99]
    van den Bergen, G.: A fast robust GJK implementation for collision detection of convex bodies. J. Graph. Tools 4(2), 7–25 (1999) MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag London 2013

Authors and Affiliations

  • Murilo G. Coutinho

    There are no affiliations available

    Personalised recommendations