This is a screen shot of my Orbits program. This application combines a C++ library of "body" objects like planets, moons and rockets. SWIG is used to generate tcl wrappers for this library and a tk is used to create the GUI. I found this to be an effective rapid prototyping tool since I could script the missions in tcl and study the effects of changes in the mission profile. In short order, I was able to demonstrate the need for an apogee kick motor in a Hohmann transfer orbit, how the Apollo 13 free return trajectory worked, and why a lunar orbit insertion burn is necessary.

This script approximately models the Apollo 11 mission. The moon (gray) is moving clockwise in the main display. The red arrows indicate the thrust vectors. This is much clearer if you can actually run this. I need to get on that java port ;-)