An elastic ball bouncing off the walls and another hard semi-circle object.
Collision between two objects is simulated with a invisible spring.
, where 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.