Spivak

Spivak is a surface plotter by Jacob Siehler. (Spivak screenshot) One interesting feature is that users can drag a point inside a box, and the corresponding point on the surface moves dynamically. User can also turn on the drawing of tangent plane, tangent line, geodesic, and principal curvature lines at that point. There is also SpaceCurve program by the author. (Source: http://xahlee.org/)