Issue No. 01 - January/February (2008 vol. 14)
Two methods have been used extensively to model resting contact for rigid body simulation. The first approach, the penalty method, applies virtual springs to surfaces in contact to minimize interpenetration. This method, as typically implemented, results in oscillatory behavior and considerable penetration. The second approach, based on formulating resting contact as a linear complementarity problem, determines the resting contact forces analytically to prevent interpenetration. The analytical method exhibits expected-case polynomial complexity in the number of contact points, and may fail to find a solution in polynomial time when friction is modeled. We present a fast penalty method that minimizes oscillatory behavior and leads to little penetration during resting contact; our method compares favorably to the analytical method with regard to these two measures, while exhibiting much faster performance both asymptotically and empirically.
Evan Drumwright, "A Fast and Stable Penalty Method for Rigid Body Simulation", IEEE Transactions on Visualization & Computer Graphics, vol. 14, no. , pp. 231-240, January/February 2008, doi:10.1109/TVCG.2007.70416