This simulation explores using small stiff springs to do collision handling.
You can change the number of blocks (from 1 to 3) and their starting positions. You can change parameters such as mass, spring stiffness, spring length and damping (friction). You can apply a spring force with your mouse to any block.
An advantage of using small stiff springs to do collision handling is that you don't have to back up in time after detecting a collision. A disadvantage is that you have to take very small time steps, at least when objects are close enough to be capable of colliding. Small time steps are needed because the springs are stiff and small.
Using springs for collision handling is also discussed on the page about Multiple Simultaneous Collisions.
Also available: source code, documentation and how to customize.
This web page was first published November 2016.