Grapher is a program I wrote which enables the user to visualize arbitrary parametric surfaces in the form < x(s,t), y(s,t), z(s,t) >. Initially, this program computed a single graph on the CPU and displayed the static results using OpenGL. Since then, I have moved the computation onto the GPU. The result is a realtime dynamic visualization that can vary with time.
Grapher supports a number of features: