I wrote an interactive module for Geomview that allows the user to control 12 variables in my klein bottle equations. The program evaluates the u/v equations around the shape and calculates normals, inward points (a small distance into each grid square), and the edge list to describe the gridded shape. It can output to Geomview over a pipe, for instant display, or write SIF.

Here are the parameters to my equations, with descriptions:

usteps, vsteps: how many steps to take along u (the long axis) and v (around the cross-section)

vshift: The gridline that starts at u=0,v=v0 does not connect to itself-- it connects to u=0,v=v0+vshift. This helps prevent gridline collisions at the circle of self-intersection, and it adds a pleasing twist to the grid. This twist is especially visible looking in the "mouth" of the bottle.

side,infrac: These are the number of units the grid should be thickened along the normal and along the original surface, respectively.

skew: This exponent warps the spine of the bottle in the x-axis so help prevent gridline collisions.

perp: This is the coefficient to an adjustment that bends the cross-section such that, at the intersection area, the section with the small radius tilts to become more perpendicular with the section of larger radius.

perp start/end angle: These are the starting and ending u values for the adjustment described above. A quartic function is used to make the effect start and stop smoothly. 