An elastic ball bouncing off the walls and another hard semi-circle object.
Collision between two objects is simulated with a invisible spring.
$\vec{F}=-k*\Delta \vec{s}$, where $\Delta\vec{s}$ is the displacement of the spring from it's original length.
You can adjust the spring constant k to change its elastic property.
Press pause and adjust the velocity of the ball with mouse (or drag it off center) to watch interesting motion.