### Summary This paper describes methods for enforcing nonpenetration constraints on rigid bodies. ### Problem One problem with nonpenetration constraints is that penetration has to happen before it can be detected. Another is that, assuming perfectly rigid bodies, collisions require an instantaneous change in velocity, which is impossible in true Newtonian physics. ### Methods Used * This paper outlines a method for detecting penetration involving determining a separating plane between the objects which are to collide * when penetration is detected, the simulation is run backward to determine the point of contact * The simulation is halted, and an impulse is added directly to the velocity, simulating an infinite force (or a force on an infinitesimal mass) * When the simulation is restarted, everything should look right ### Key Ideas * Detecting penetration using separating planes * Backing up the simulation to the point of contact * Using an impulse to apply an instantaneous change in velocity