##### How to use
Enter functions f1(s,t), g1(s,t), and h1(s,t) in the text input fields marked "f1(s,t)=", "g1(s,t)=", and "h1(s,t)=".

Example: f1(s,t)=t+4 cos s, g1(s,t)=4 sin s, h1(s,t)=t

Click the "Graph" button (this button also refreshes the graph).

Rotate the graph by clicking and dragging the mouse on the graph.

To see two surfaces graphed simultaneously:

Enter the second set of functions f2(s,t), g2(s,t), and h2(s,t) in the text input fields marked "f2(s,t)=", "g2(s,t)=", and "h2(s,t)=".

Click (to its "on" state) the check box next to this set of input fields.

Click the "Graph" button.

Example: f1(s,t)=t+4 cos s, f1(s,t)=4 sin s, and f1(s,t)=t; f2(s,t)=5 cos t sin s, g2(s,t)=5 sin t sin s, and h2(s,t)=5 cos s

Up to two surfaces can be graphed simultaneously.

To remove a function from the graph, click (to its "off" state) the check box next to the associated text input fields and click the "Graph" button to refresh.

To erase the graph and all input fields, click the "Clear" button.

##### Examples
Ellipsoid: f1(s,t)=5 cos t sin s, g1(s,t)=3 sin t sin s, h1(s,t)=2 cos s

Plane: f1(s,t)=s, g1(s,t)=t, h1(s,t)=s+t

Cylinder: f1(s,t)=5 cos t, g1(s,t)=5 sin t, h1(s,t)=s

Slant Cylinder: f1(s,t)=s+5 cos t, g1(s,t)=5 sin t, h1(s,t)=s

##### Other Notes
Surfaces in three dimensions are represented in "faceted hidden surface" form. The facets are not subdivided at intersections of surfaces if more than one surface is drawn, so intersections of surfaces are not precise. The "wireframe" representation for surfaces, in which the surface is transparent, only draws one surface at a time.