Adaptive merging for rigid body simulation

We reduce computation time in rigid body simulations by merging collections of bodies when they share a common spatial velocity. Merging relies on monitoring the state of contacts, and a metric that compares the relative linear and angular motion of bodies based on their sizes. Unmerging relies on an inexpensive single iteration projected Gauss-Seidel sweep over contacts between merged bodies, which lets us update internal contact forces over time, and use the same metrics as merging to identify when bodies should unmerge. Furthermore we use a contact ordering for graph traversal refinement of the internal contact forces in collections, which helps to correctly identify all the bodies that must unmerge when there are impacts. The general concept of merging is similar to the common technique of sleeping and waking rigid bodies in the inertial frame, and we exploit this too, but our merging is in moving frames, and unmerging takes place at contacts between bodies rather than at the level of bodies themselves. We discuss the previous relative motion metrics in comparison to ours, and evaluate our method on a variety of scenarios.

[1]  Jeffrey C. Trinkle,et al.  Interactive Simulation of Rigid Body Dynamics in Computer Graphics , 2014, Eurographics.

[2]  J. Baumgarte Stabilization of constraints and integrals of motion in dynamical systems , 1972 .

[3]  Richard Tonge,et al.  Mass splitting for jitter-free parallel rigid body simulation , 2012, ACM Trans. Graph..

[4]  Dinesh K. Pai,et al.  Post-stabilization for rigid body simulation with contact and constraints , 2003, 2003 IEEE International Conference on Robotics and Automation (Cat. No.03CH37422).

[5]  Sean Quinlan,et al.  Efficient distance computation between non-convex objects , 1994, Proceedings of the 1994 IEEE International Conference on Robotics and Automation.

[6]  Rahul Narain,et al.  Adaptive Physically Based Models in Computer Graphics , 2017, Comput. Graph. Forum.

[7]  James F. O'Brien,et al.  Adaptive anisotropic remeshing for cloth simulation , 2012, ACM Trans. Graph..

[8]  Stefan Jeschke,et al.  Long range constraints for rigid body simulations , 2017, Symposium on Computer Animation.

[9]  BridsonRobert,et al.  Nonconvex rigid bodies with stacking , 2003 .

[10]  S. Redon,et al.  Adaptively restrained particle simulations. , 2012, Physical review letters.

[11]  Kaleem Siddiqi,et al.  Medial Spheres for Shape Approximation , 2012, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[12]  Marek Teichmann,et al.  Schur Complement-based Substructuring of Stiff Multibody Systems with Contact , 2019, ACM Trans. Graph..

[13]  Shu-Wei Hsu,et al.  Piles of objects , 2010, SIGGRAPH 2010.

[14]  Ming C. Lin,et al.  Adaptive dynamics of articulated bodies , 2005, SIGGRAPH 2005.

[15]  Kenny Erleben,et al.  Stable, Robust, and Versatile Multibody Dynamics Animation , 2005 .

[16]  Kenny Erleben,et al.  Velocity-based shock propagation for multibody dynamics animation , 2007, TOGS.

[17]  Christopher Wojtan,et al.  Highly adaptive liquid simulations on tetrahedral meshes , 2013, ACM Trans. Graph..

[18]  Brian Mirtich,et al.  Timewarp rigid body simulation , 2000, SIGGRAPH.

[19]  I. Millington Game physics engine development , 2007 .

[20]  Kenny Erleben,et al.  Methodology for Assessing Mesh-Based Contact Point Methods , 2018, ACM Trans. Graph..

[21]  Marco Fratarcangeli,et al.  Scalable Partitioning for Parallel Position Based Dynamics , 2015, Comput. Graph. Forum.

[22]  Victor J. Milenkovic,et al.  A fast impulsive contact suite for rigid body simulation , 2004, IEEE Transactions on Visualization and Computer Graphics.