Boy's surface

Complex_numbers gives some basic functions for complex numbers in OpenSCAD. A complex number is a vector with two entries, the real and the imaginary part. There are functions for complex multiplication and division, complex conjugate and taking real powers of complex numbers.
Rotation_2_point_bar is a single module, it takes two vectors in 3 dimensional space as input and then draws a cylinder between them. This is useful for making grids or meshes. Once the vertices of the mesh are known, one can use this module to draw all the edges.
The main file is boys_surface_vertices which gives a rendering of Boy's surface using a simple square mesh.