Here's an OpenGL demonstration of Kepler's three laws of planetary motion (source code only):

http://www.ludicity.org/files/kepler.tar.gz (190 KB)

The movement of the planet(s) is determined by numerically integrating Newton's equations of motion, rather than simply applying the analytical solution to those equations (which Newton worked out over three centuries ago, inventing calculus in the process!) But it's nice to see for oneself that numerical techniques can reproduce (to reasonable accuracy) the behaviour described by Kepler's laws.

A few screenshots are here, here and here.

You can switch from one law to the next/previous by using the RIGHT/LEFT arrow keys. SPACE pauses/resumes the simulation, and ENTER returns it to the starting state. L shows labels (and other info). You can click and drag the Sun and planet(s) around (when in the starting state) to change various orbital parameters. F1 for help on all these options and more.

I've only tested it on Linux with the Free Pascal compiler. It uses the JEDI-SDL headers. Compilation is as simple as fpc -Mobjfpc kepler.pp