i_algbr Library part 2© Mike Williams 2001,2002,2003,2004 

See the previous page for details of "Field Strength", "Field Limit", "SOR switch", "SOR offset" and "SOR angle" parameters  
A Folium Surface looks something like a paraboloid glued to a plane. The parameters are:
function {  f_folium_surface(x,y,z,0.01,3,5)}  
The 2d folium curve can be rotated around the X axis to generate the same
3d surface as the above, or it can be extruded in the Z direction (by switching the SOR switch off),
or it can be rotated around the Y axis, like this. The parameters are:
function { f_folium_surface_2d(x,y,z,0.01,1,1,1,0,0)}  
The "Torus Gumdrop" surface us something like a torus with a couple
of gumdrops hanging off the end. The parameters are:
function {  f_torus_gumdrop(x,y,z,0.01)}  
This is the "Hunt Surface". The parameters are:
function { f_hunt_surface(x,y,z,0.1)}  
This is a "Hyperbolic Torus". The parameters are:
function {  f_hyperbolic_torus (x, y, z, 1, 0.6, 0.4)}  
The Kampyle of Eudoxus" is like two infinite planes with a dimple at the centre. The parameters are:
function { f_kampyle_of_eudoxus(x,y,z,1,0,1)}  
The 2d curve that generates the above surface can be extruded in the Z direction
or rotated about various axes by using the SOR parameters. In this case I've
created the same shape as in the 3d version. The parameters are:
function {  f_kampyle_of_eudoxus_2d (x, y, z, 1, 0, 1, 1, 0, 90)}  
The Klein Bottle is the 3d equivalent of the Moebius Strip. It's a surface
with only one side. It's hard to see what's going on from one side, so I've made the
surface partially transparent so that those of you with good imaginations
can get a hint of how the whole shape works. The parameters are:
function { f_klein_bottle(x,y,z,1)}  
The Kummer surface consists of a collection of radiating rods. The parameters are:
function { f_kummer_surface_v1(x,y,z,0.01)}  
Version 2 of the Kummer Surface only looks like radiating rods
when the parameters are set to particular negative values. For positive values
it tends to look rather like a superellipsoid. The parameters are:
function {f_kummer_surface_v2 (x, y, z, 0.001, 2, 0.94, 0.4)}  
The "Lemniscate_of_Gerono" surface is an hourglass shape. Two teardrops with their ends connected. The parameters are:
function { f_lemniscate_of_gerono(x,y,z,1)}  
The 2d version of the Lemniscate can be extruded in the Z direction, or used as a surface of revolution
to generate the equivalent of the 3d version, or revolved in different ways. To produce the 3d Lemniscate, switch SOR on
and set the SOR offset to zero and the SOR angle to 90. I've cut the surface in half so that you can see the figureofeight curve that sweeps round the Y axis to generate this surface of revolution. The parameters are:
function { f_lemniscate_of_gerono_2d (x,y,z,0.1,1,1,1,2,45)}  
This paraboloid is the surface of revolution that you get if
you rotate a parabola about the Y axis. To do this without using the built in function
declare a function to represent the parabola y  x*x = 0, then use substitution of variables
to perform the SOR operation:
#declare F = function {y  x*x} isosurface { function { F(sqrt(x*x + z*z), y, z)} The parameters are:
function {  f_paraboloid(x,y,z,1)}  
This is a parabolic torus. The parameters are:
function {  f_parabolic_torus(x,y,z, 0.1, 0.6, 0.5)}  
The piriform surface looks rather like half a lemniscate. The parameters are:
function { f_piriform(x, y, z, 1)}  
The 2d version of the Piriform can be extruded in the Z direction, or used as a surface of revolution
to generate the equivalent of the 3d version, or revolved in different ways. This might be a useful shape for making hot air balloons  reduce the fatness parameter to make a weather balloon. The parameters are:
function { f_piriform_2d (x, y, z, 1, 1, 1, 1, 1, 0, 90)}  

Download a zip file containing the POV source files for all the images that appear on this page. 
