ABSTRACT
Efficient simulation of contact is of interest for numerous physics-based animation applications. For instance, virtual reality training, video games, rapid digital prototyping, and robotics simulation are all examples of applications that involve contact modeling and simulation. However, despite its extensive use in modern computer graphics, contact simulation remains one of the most challenging problems in physics-based animation.
This course covers fundamental topics on the nature of contact modeling and simulation for computer graphics. Specifically, we provide mathematical details about formulating contact as a complementarity problem in rigid body and soft body animations. We briefly cover several approaches for contact generation using discrete collision detection. Then, we present a range of numerical techniques for solving the associated LCPs and NCPs. The advantages and disadvantages of each technique are further discussed in a practical manner, and best practices for implementation are discussed. Finally, we conclude the course with several advanced topics, such as anisotropic friction modeling and proximal operators. Programming examples are provided on the course website to accompany the course notes.
Supplemental Material
Available for Download
- V. Acary, F. Cadoux, C. Lemaréchal, and J. Malick. 2011. A formulation of the linear discrete Coulomb friction problem via convex optimization. ZAMM-Journal of Applied Mathematics and Mechanics/Zeitschrift für Angewandte Mathematik und Mechanik 91, 2 (2011), 155--175.Google Scholar
Cross Ref
- S. Andrews, K. Erleben, P. G. Kry, and M. Teichmann. 2017. Constraint reordering for iterative multi-body simulation with contact. In ECCOMAS '17: Proc. of the Multibody Dynamics 2007 ECCOMAS Thematic Conference. ECCOMAS, Prague, Czech Republic.Google Scholar
- M. Anitescu and G. D. Hart. 2004. A constraint-stabilized time-stepping approach for rigid multibody dynamics with joints, contact and friction. Intl. Journal for Numerical Methods in Engineering 60, 14 (2004), 2335--2371. Google Scholar
Cross Ref
- M. Anitescu and F. A. Potra. 1997. Formulating Dynamic Multi-Rigid-Body Contact Problems with Friction as Solvable Linear Complementarity Problems. Nonlinear Dynamics 14 (1997), 231--247. Issue 3. Google Scholar
Cross Ref
- M. Anitescu and A. Tasora. 2010. An iterative approach for cone complementarity problems for nonsmooth dynamics. Computational Optimization and Applications 47, 2 (October 2010), 207--235. Google Scholar
Digital Library
- D. Baraff. 1993. Issues in computing contact forces for nonpenetrating rigid bodies. Algorithmica. An Intl. Journal in Computer Science 10, 2-4 (1993), 292--352. Google Scholar
Digital Library
- D. Baraff. 1994. Fast contact force computation for nonpenetrating rigid bodies. In Proc. of the 21st Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '94). ACM, New York, NY, USA, 23--34. Google Scholar
Digital Library
- A. W. Bargteil, T. Shinar, and P. G. Kry. 2020. An Introduction to Physics-Based Animation. In SIGGRAPH Asia 2020 Courses (Virtual Event) (SA '20). ACM, New York, NY, USA, Article 5, 57 pages. Google Scholar
Digital Library
- J. Baumgarte. 1972. Stabilization of constraints and integrals of motion in dynamical systems. Computer Methods in Applied Mechanics and Engineering 1, 1 (1972), 1--16. Google Scholar
Cross Ref
- J. Bender, K. Erleben, and J. Trinkle. 2014. Interactive Simulation of Rigid Body Dynamics in Computer Graphics. Comp. Graph. Forum 33, 1 (2014), 246--270.Google Scholar
Digital Library
- S. Boyd and L. Vandenberghe. 2004. Convex Optimization. Cambridge University Press, Cambridge. Bridson, R. Fedkiw, and J. Anderson. 2002. Robust Treatment of Collisions, Contact and Friction for Cloth Animation. ACM Trans. Graph. 21, 3 (July 2002), 594--603. https://doi.org/10.1145/566654.566623 Google Scholar
Cross Ref
- D. T. Chen and D. Zeltzer. 1992. Pump It up: Computer Animation of a Biomechanically Based Model of Muscle Using the Finite Element Method. In Proc. of the 19th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '92). ACM, New York, NY, USA, 89--98. Google Scholar
Digital Library
- M. B. Cline and D. K. Pai. 2003. Post-stabilization for rigid body simulation with contact and constraints. In 2003 IEEE Intl. Conference on Robotics and Automation, Vol. 3. IEEE, Taipei, Taiwan, 3744--3751. Google Scholar
Cross Ref
- R. Cottle. 1968. Complementary Pivot Theory of Mathematical Programming. Linear Algebra and Its Applications 1 (1968), 103--125. Google Scholar
Cross Ref
- R. Cottle, J.-S. Pang, and R. E. Stone. 1992. The Linear Complementarity Problem. Academic Press, Boston.Google Scholar
- E. Coumans. 2005. The Bullet Physics Library. http://www.pybullet.org.Google Scholar
- G. Daviet. 2020. Simple and Scalable Frictional Contacts for Thin Nodal Objects. ACM Trans. Graph. 39, 4, Article 61 (July 2020), 16 pages. Google Scholar
Digital Library
- G. Daviet, F. Bertails-Descoubes, and L. Boissieux. 2011. A hybrid iterative solver for robustly capturing coulomb friction in hair dynamics. ACM Trans. Graph. 30, 6, Article 139 (Dec. 2011), 12 pages. Google Scholar
Digital Library
- A. Enzenhoefer, N. Lefebvre, and S. Andrews. 2019. Efficient Block Pivoting for Multibody Simulations with Contact. In Proc. of the 2019 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (Montreal, Quebec, Canada) (I3D '19). ACM, New York, NY, USA, Article 2, 9 pages. Google Scholar
Digital Library
- K. Erleben. 2005. Stable, Robust, and Versatile Multibody Dynamics Animation. Ph.D. Dissertation. Department of Computer Science, University of Copenhagen (DIKU).Google Scholar
- K. Erleben. 2007. Velocity-Based Shock Propagation for Multibody Dynamics Animation. ACM Trans. Graph. 26, 2 (June 2007), 12--es. Google Scholar
Digital Library
- K. Erleben. 2017. Rigid Body Contact Problems Using Proximal Operators. In Proc. of the 2017 ACM SIGGRAPH / Eurographics Symposium on Computer Animation (Los Angeles, California) (SCA '17). ACM, New York, NY, USA, Article 13, 12 pages. Google Scholar
Digital Library
- K. Erleben, M. Andersen, N. S., and S. M. 2011. num4lcp. https://github.com/erleben/num4lcp.Google Scholar
- K. Erleben, M. Macklin, S. Andrews, and P. G. Kry. 2020. The Matchstick Model for Anisotropic Friction Cones. Comp. Graph. Forum 39, 1 (2020), 450--461. Google Scholar
Cross Ref
- M. C. Ferris and T. S. Munson. 1999. Interfaces to PATH 3.0: Design, Implementation and Usage. Comput. Optim. Appl. 12 (January 1999), 207--227. Issue 1--3. Google Scholar
Digital Library
- A. Fischer. 1992. A special newton-type optimization method. Optimization 24, 3-4 (1992), 269--284. Google Scholar
- M. Foerg, T. Geier, L. Neumann, and H. Ulbrich. 2006. r-Factor Strategies for the Augmented Lagrangian Approach in Multi-Body Contact Mechanics. In III European Conference on Computational Mechanics. Springer Netherlands, Dordrecht, NL, 316. Google Scholar
Cross Ref
- M. Fratarcangeli and F. Pellacini. 2015. Scalable Partitioning for Parallel Position Based Dynamics. Comput. Graph. Forum 34, 2 (May 2015), 405--413. Google Scholar
Digital Library
- S. F. Frisken, R. N. Perry, A. P. Rockwood, and T. R. Jones. 2000. Adaptively Sampled Distance Fields: A General Representation of Shape for Computer Graphics. In Proc. of the 27th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '00). ACM Press/Addison-Wesley Publishing Co., USA, 249--254. Google Scholar
Digital Library
- M. Geilinger, D. Hahn, J. Zehnder, M. Bächer, B. Thomaszewski, and S. Coros. 2020. ADD: Analytically Differentiable Dynamics for Multi-Body Systems with Frictional Contact. ACM Trans. Graph. 39, 6, Article 190 (Nov. 2020), 15 pages. Google Scholar
Digital Library
- E. G. Gilbert, D. W. Johnson, and S. S. Keerthi. 1988. A fast procedure for computing the distance between complex objects in three-dimensional space. IEEE Journal on Robotics and Automation 4, 2 (1988), 193--203. Google Scholar
Cross Ref
- H. Goldstein, C. Poole, and J. Safko. 2002. Classical mechanics. Addison-Wesley, USA. 638 pages.Google Scholar
- S. Goyal, A. Ruina, and J. Papadopoulos. 1989. Limit Surface and Moment Funktion Descriptions of Planar Sliding. In Proc. of the 1989 IEEE Intl. Conference on Robotics and Automation (Vol. 2). IEEE, Scottsdale, AZ, 794--799.Google Scholar
- S. Hasegawa, N. Fujii, Y. Koike, and M. Sato. 2003. Real-Time Rigid Body Simulation Based on Volumetric Penalty Method. In HAPTICS '03: Proc. of the 11th Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems. IEEE Computer Society, Los Alamitos, CA, USA, 326. Google Scholar
Cross Ref
- J. Jansson and J. S. M. Vergeest. 2002. A discrete mechanics model for deformable bodies. Computer-Aided Design 34, 12 (2002), 913--928.Google Scholar
Cross Ref
- J. Jansson and J. S. M. Vergeest. 2003. Combining Deformable- and Rigid-Body Mechanics Simulation. Vis. Comput. 19, 5 (Aug. 2003), 280--290. Google Scholar
Digital Library
- M. Jean. 1999. The non-smooth contact dynamics method. Computer Methods in Applied Mechanics and Engineering 177, 3-4 (July 1999), 235--257. Google Scholar
Cross Ref
- M. W. Jones, J. A. Baerentzen, and M. Sramek. 2006. 3D distance fields: A survey of techniques and applications. IEEE Transactions on visualization and Computer Graphics 12, 4 (2006), 581--599.Google Scholar
Digital Library
- F. Jourdan, P. Alart, and M. Jean. 1998. A Gauss-Seidel like algorithm to solve frictional contact problems. Computer Methods in Applied Mechanics and Engineering 155, 1 (1998), 31 -- 47.Google Scholar
Cross Ref
- J. J. Júdice and F. M. Pires. 1994. A block principal pivoting algorithm for large-scale strictly monotone linear complementarity problems. Computers & operations research 21, 5 (1994), 587--596.Google Scholar
- D. M. Kaufman, S. Sueda, D. L. James, and D. K. Pai. 2008. Staggered Projections for Frictional Contact in Multibody Systems. ACM Trans. Graph. 27, 5, Article Article 164 (Dec. 2008), 11 pages. Google Scholar
Digital Library
- T. Kim and D. Eberle. 2020. Dynamic Deformables: Implementation and Production Practicalities. In ACM SIGGRAPH 2020 Courses (Virtual Event, USA) (SIGGRAPH '20). ACM, New York, NY, USA, Article 23, 182 pages. Google Scholar
Digital Library
- Y.J. Kim, M. A. Otaduy, M. C. Lin, and D. Manocha. 2002. Fast Penetration Depth Computation for Physically-Based Animation. In Proc. of the 2002 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (San Antonio, Texas) (SCA '02). ACM, New York, NY, USA, 23--31. Google Scholar
Digital Library
- D. Koschier, C. Deul, and J. Bender. 2016. Hierarchical Hp-Adaptive Signed Distance Fields. In Proc. of the 2016 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (Zurich, Switzerland) (SCA '16). Eurographics Association, Goslar, DEU, 189--198.Google Scholar
- C. Lacoursiere and M. Linde. 2011. Spook: a variational time-stepping scheme for rigid multibody systems subject to dry frictional contacts. Technical Report. HPC2N and Department of Computer Science, Umeaa University, Sweeden.Google Scholar
- R. I. Leine and C. Glocker. 2003. A set-valued force law for spatial coulomb-contensou friction. European Journal of Mechanics - A/Solids 22, 2 (2003), 193--216. Google Scholar
Cross Ref
- J. Lloyd. 2005. Fast Implementation of Lemke's Algorithm for Rigid Body Contact Simulation. In ICRA '05: Proc. of the 2005 IEEE Intl. Conference on Robotics and Automation. IEEE, Barcelona, Spain, 4538--4543. Google Scholar
Cross Ref
- P. Lötstedt. 1984. Numerical Simulation of Time-Dependent Contact and Friction Problems in Rigid Body Mechanics. SIAM journal on scientific and statistical computing 5, 2 (1984), 370--393.Google Scholar
- M. Macklin, K. Erleben, M. Müller, N. Chentanez, S. Jeschke, and Z. Corse. 2020a. Local Optimization for Robust Signed Distance Field Collision. Proc. of the ACM on Computer Graphics and Interactive Techniques 3, 1 (2020), 1--17.Google Scholar
Digital Library
- M. Macklin, K. Erleben, M. Müller, N. Chentanez, S. Jeschke, and T. Y. Kim. 2020b. Primal/Dual Descent Methods for Dynamics. In Proc. of the 2020 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (Virtual Event, Canada) (SCA '20). Eurographics Association, Goslar, DEU, Article 9, 12 pages. Google Scholar
Digital Library
- M. Macklin, K. Erleben, M. Müller, N. Chentanez, S. Jeschke, and V. Makoviychuk. 2019. Non-Smooth Newton Methods for Deformable Multi-Body Dynamics. ACM Trans. Graph. 38, 5, Article Article 140 (Oct. 2019), 20 pages. Google Scholar
Digital Library
- H. Mazhar, T. Heyn, D. Negrut, and A. Tasora. 2015. Using Nesterov's Method to Accelerate Multibody Dynamics with Friction and Contact. ACM Trans. Graph. 34, 3, Article 32 (May 2015), 14 pages. Google Scholar
Digital Library
- M. McKenna and D. Zeltzer. 1990. Dynamic simulation of autonomous legged locomotion. In Proc. of the 17th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '90). ACM, Dallas, TX, USA, 29--38. Google Scholar
Digital Library
- X. Merlhiot. 2007. A robust, efficient and time-stepping compatible collision detection method for non-smooth contact between rigid bodies of arbitrary shape. In ECCOMAS '07: Proc. of the 2007 Multibody Dynamics ECCOMAS Thematic Conference. ECCOMAS, Milano, Italy, 20.Google Scholar
- M. Moore and J. Wilhelms. 1988. Collision detection and response for computer animationr3. In Proc. of the 15th annual conference on Computer graphics and interactive techniques (SIGGRAPH '88). ACM, New York, NY, USA, 289--298. Google Scholar
Digital Library
- J. J. Moreau. 1999. Numerical aspects of the sweeping process. Computer Methods in Applied Mechanics and Engineering 177, 3-4 (July 1999), 329--349.Google Scholar
Cross Ref
- T. S. Munson, F. Facchinei, M. C. Ferris, A. Fischer, and C. Kanzow. 2001. The Semismooth Algorithm for Large Scale Complementarity Problems. INFORMS Journal on Computing 13, 4 (2001), 294--311. Google Scholar
Cross Ref
- K. G. Murty. 1974. Note on a Bard-type scheme for solving the complementarity problem. Opsearch 11, 2-3 (1974), 123--130.Google Scholar
- K. G. Murty and F.-T. Yu. 1988. Linear Complementarity, Linear and Nonlinear Programming. Vol. 3. Helderman-Verlag, Berlin, Germany. 629 pages.Google Scholar
- S. M. Niebe. 2014. Rigid Bodies in Contact: and Everything in Between. Ph.D. Dissertation. Department of Computer Science, Faculty of Science, University of Copenhagen.Google Scholar
- J. Nocedal and S. J. Wright. 2006. Numerical optimization. Springer-Verlag, New York. 664 pages. Google Scholar
Cross Ref
- S. Pabst, B. Thomaszewski, and W. Straßer. 2009. Anisotropic Friction for Deformable Surfaces and Solids. In Proc. of the 2009 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (New Orleans, Louisiana) (SCA '09). ACM, New York, NY, USA, 149--154. Google Scholar
Digital Library
- N. Parikh and S. Boyd. 2014. Proximal Algorithms. Found. Trends Optim. 1, 3 (Jan. 2014), 127--239.Google Scholar
Digital Library
- A. Peiret, S. Andrews, J. Kovecses, P. G. Kry, and M. Teichmann. 2019. Schur Complement-based Substructuring of Stiff Multibody Systems with Contact. ACM Trans. Graph. 38, 5, Article 150 (2019), 17 pages. Google Scholar
Digital Library
- M. Poulsen, S. Niebe, and K. Erleben. 2010. Heuristic Convergence Rate Improvements of the Projected Gauss-Seidel Method for Frictional Contact Problems. In WSCG '10: In Proc. of the 18th Intl. Conf. in Central Europe on Computer Graphics, Visualization and Computer Vision. University of West Bohemia, Plzen, Czech Republic, 135--142.Google Scholar
- G. Sheng Chen and X. Liu. 2016. Chapter 3 - Friction. In Friction Dynamics, Gang Sheng Chen and Xiandong Liu (Eds.). Woodhead Publishing, Cambridge, UK, 91--159. Google Scholar
Cross Ref
- E. Sifakis and J. Barbic. 2012. FEM Simulation of 3D Deformable Solids: A Practitioner's Guide to Theory, Discretization and Model Reduction. In ACM SIGGRAPH 2012 Courses (Los Angeles, California) (SIGGRAPH '12). ACM, New York, NY, USA, Article 20, 50 pages. Google Scholar
Digital Library
- M. Silcowitz, S. Niebe, and K. Erleben. 2009. Nonsmooth Newton Method for Fischer Function Reformulation of Contact Force Problems for Interactive Rigid Body Simulation. In Proc. of the 6th Workshop on Virtual Reality Interaction and Physical Simulation (Karlsruhe, DE) (VRIPHYS '09). The Eurographics Association, Karlsruhe, DE, 105--114. Google Scholar
Cross Ref
- M. Silcowitz, S. Niebe, and K. Erleben. 2010a. A nonsmooth nonlinear conjugate gradient method for interactive contact force problems. The Visual Computer 26, 6 (2010), 893--901. Google Scholar
Digital Library
- M. Silcowitz, S. Niebe, and K. Erleben. 2010b. Projected Gauss-Seidel Subspace Minimization Method for Interactive Rigid Body Dynamics. In VISIGRAPP '10: Proc. of the 5th Intl. Conference on Computer Graphics Theory and Applications. Springer Berlin Heidelberg, Angers, France, 218--229. Google Scholar
Cross Ref
- M. Silcowitz-Hansen. 2010. Jinngine: a Physics Engine Written In Java. https://github.com/rzel/jinngineGoogle Scholar
- D. E. Stewart and J. C. Trinkle. 1996. An Implicit Time-Stepping Scheme for Rigid Body Dynamics with Inelastic Collisions and Coulomb Friction. Intl. Journal of Numerical Methods in Engineering 39, 15 (1996), 2673--2691.Google Scholar
Cross Ref
- C. W. Studer. 2008. Augmented Time-stepping Integration of Non-smooth Dynamical Systems. Ph.D. Dissertation. ETH Zurich. Google Scholar
Cross Ref
- I. E. Sutherland and G. W. Hodgman. 1974. Reentrant polygon clipping. Commun. ACM 17, 1 (1974), 32--42. Google Scholar
Digital Library
- A. Tasora, D. Mangoni, S. Benatti, and R. Garziera. 2021. Solving variational inequalities and cone complementarity problems in nonsmooth dynamics using the alternating direction method of multipliers. Intl. Journal for Numerical Methods in Engineering n/a, n/a (2021). Google Scholar
Cross Ref
- D. Terzopoulos, J. Platt, A. Barr, and K. Fleischer. 1987. Elastically Deformable Models. In Proc. of the 14th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '87). Association for Computing Machinery, New York, NY, USA, 205--214. Google Scholar
Digital Library
- G. Van Den Bergen. 2003. Collision detection in interactive 3D environments. CRC Press, San Francisco, USA. 277 pages.Google Scholar
- H. Xu and J. Barbič. 2014. Signed distance fields for polygon soup meshes. In Proc. of the 40th Graphics Interface Conference (GI '14). Canadian Information Processing Society, Montreal, Canada, 35--41. Google Scholar
Digital Library
- H. Xu, Y. Zhao, and J. Barbič. 2014. Implicit Multibody Penalty-based Distributed Contact. IEEE Transactions on Visualization and Computer Graphics 20, 9 (Sep. 2014), 1266--1279. Google Scholar
Cross Ref
Index Terms
Contact and friction simulation for computer graphics
Recommendations
Contact and friction simulation for computer graphics
SIGGRAPH '22: ACM SIGGRAPH 2022 CoursesEfficient simulation of contact is of interest for numerous physics-based animation applications. For instance, virtual reality training, video games, rapid digital prototyping, and robotics simulation are all examples of applications that involve ...
A hard-constraint time-stepping approach for rigid multibody dynamics with joints, contact, and friction
TAPIA '03: Proceedings of the 2003 conference on Diversity in computingWe present a method for simulating rigid multibody dynamics with joints, contact, and friction. In this work, the nonsmooth contact and frictional constraints are represented by hard constraints. The method requires the solution of only one linear ...
Using Nesterov's Method to Accelerate Multibody Dynamics with Friction and Contact
We present a solution method that, compared to the traditional Gauss-Seidel approach, reduces the time required to simulate the dynamics of large systems of rigid bodies interacting through frictional contact by one to two orders of magnitude. Unlike ...




Comments