Continous Collision Detection Library



Algorithms for modeling contact in rigid body simulation take a set of contact points and normals as input and produce a set of forces or impulses that handle impacts or treat resting contact. However, the difficulty and importance of determining these contact point and normal inputs accurately is often overlooked; this determination is both computationally intensive and plagued by numerical and geometric degenera- cies. Many researchers use methods that speculate upon the location of contact points and the direction of normals. For some applications of rigid body simulation (e.g., animation, games), these approximations may not be deleterious; for applications that place importance on accurate simulation (e.g., robotics), approximations are often unacceptable.

Ricochet is a continuous collision detection algorithm for computing time of contact (TOC) and contact points and normals that addresses the above problem.

The following are examples that use the Physsim rigid-body dynamics simulation library with Ricochet.


doxygen generated documentation can be found as part of the source code distribution.


To checkout the code (requires you to have subversion), use the following command (all on one line):

svn checkout

We can use help from researchers in the graphics and robotics communities in developing and testing Physsim. Please contact us via the account below:


Please send email to edrumwri (at)users (dot) sourceforge (dot) net