The Blender 3D modeling and rendering package has an add-on for mathematically defined surfaces. It is enabled via the Extra Objects add-on under File > User Preferences> Addons
.
The XYZ Math Surface
can be used to construct meshes for parametric surfaces. The parametric surface is defined by three functions of two variables \(u\) and \(v\):
\(x = X(u,v)\) \(y = Y(u,v)\) \(z = Z(u,v)\)
The documentation page for the add-on has a number of example surfaces, but there are a lot more interesting named surfaces out there.
Its fairly easy to enter any formulae you find for a parametric 3D surface into Blender and save it as an Operator Preset
. I've uploaded my collection of saved presets to a github repo. I haven't included every named surface out there, just ones I think might make interesting images.
Here are a couple of images produced using the XYZ Math Surface add-on.
Dini
Twisted Torus
Stereosphere
A stereosphere is the projection of a plane grid onto a sphere with the projection lines going through the top pole of the sphere. In the following image there is a point source light at the north pole of the stereosphere (the light is represented by the yellow dot). This light then does a stereographic projection of the sphere back onto the plane producing the grid present on the ground plane.