INSTRUCTION TO MAKE 3D MODELS OF RULED (OPEN) SURFACE OF MAIN STAGES OF SPHERE EVERSION

based on:
https://arxiv.org/abs/1711.10466

HELP/CORRECTIONS/SUGGESTIONS: Adam Bednorz adamb76@gmail.com

Note: the surfaces extend to infinity
To close them you need additional transformation (see link above) but then they are no longer ruled

Ruled surfaces can be modeled by straight strings or rods like hyperpoloid
https://en.wikipedia.org/wiki/Ruled_surface

Here you can make directly Q,T and D model (Q halfway, containing quadruple point
in the middle, T containing birth/death of triple points, D containing birth/death one of 
double intersections loops)

Materials you need to make a model:
1) A4 size printed templates, four per model, PDFs attached to this zip file, 4 per model,
print xi.pdf i=1,2,3,4, x=Q,T,D, for Q print q1.pdf 4 times.
 The final model should have 25cm height (+margins) and 25cm diameter.
2) A plastic sheet (PET/PMMA/PVC), preferably transparent to see the surface through the sheet,
enough thick (I used 0.7mm), size >25x80cm (I cut from commercial 1x0.7m rectangle)
3) nylon string >80m total length (I used 8 different colors to see better intersections)
4) pins to make holes wider than string, help with e.g. candlelight to make pin hot enough to melt plastic
5) transparent doublesided tape or glue (I found tape better and stronger)
6) usual tools (scissors, knife, sticking tape, thread, stitching tools, 
some support to avoid holes in your table/floor)

Estimated price of materials 5-10 EUR/USD per model (2017 currency rate of PLN, 
I bought everything in Warsaw, Poland in 2017)
About 20 hours of work.
 
 CAUTION: BE CAREFUL WITH FIRE AND SHARP TOOLS!!

Steps (read them all before start!):
A) Stick the templates to the sheet (e.g. using sticking tape) and cut with some margin added. 
Match templates and the sheet as precisely as you can (points should match).
Help with ruler, remember that printouts are sometimes minimally rotated. If not corrected,
this amounts to the total error of several milimeters, may be visible.
B) Make holes with hot pin at marked points. Support the sheet! 
Uppermost and lowermost points (in horizontal rows) are only guidelines. 
You don't have to make holes there unless you want to use 
 them e.g. to control the final shape. In Q model special points (a=0,90,180,270 degrees)
 overlap, you should make them wider, for two strings)
C) Cut the sheet with margin of about 2cm (width of a tape) and stick margins forming a tube.
 Be precise, once you stick it is hard to correct!
D) Pull the string through opposite holes. For your help main angles a=0,90,180,270 are boxed on templates.
String at these angles is HORIZONTAL in all models.
Intersections: In Q model pairs at main angles overlap and cross in the center (Q - point).
It helps to tie them with a thread. In D model two strings touch in the middle, don't tangle them.
In general it is hard to see where the string crosses other ones so consult intersection map.
Count strings from some main angle (count 0) and pull the n-th string in a row between + and - in columns
using the tables: interx.txt (x=q,t,d). 
E) Check for errors (wrong intersections, holes), pull string to be straight and tie.
Don't pull too much. Otherwise the tube gets deformed. Very large deformations will pinch intersecting
strings.

You can do it using different materials, tools.
Ready commercial PMMA tubes are better (no glue/tape) but also more expensive and 
you have to scale templates to the actual tube diameter and match precisely.
Metal/plastic rods instead of strings are problematic due to protruding ends.
You can also make models of other stages or change the string angles.
For your help, here are main equations to generate model templates and intersections map
to be implemented using e.g. c++ or gnuplot.


------------------------------------------------------------------------
	
	
#  suggested choice of N angles (N=200 in templates)
	a= 360*n/N # in degrees
	a= 2*pi*n/N # in radians
	
# n=0,1,...,N-1
# "fermionic" choice, add 180/N or pi/N to each angle to avoid main intersection	


# plus line
	h = -cos(2*a)+sqrt(cos(2*a)^2+r^2-1-t^2-2*t*sin(2*a)) 
# minus line	
	h = -cos(2*a)-sqrt(cos(2*a)^2+r^2-1-t^2-2*t*sin(2*a))
#	corresponding line
	sin(f) = sin(a)*(h-1)-t*cos(a)
	cos(f) = cos(a)*(h+1)+t*sin(a)
	z = (h*sin(2*a)-t*cos(2*a)/2)/r
	
# print points (f,z), find f using e.g. atan2 function in c++ or gnuplot
# other software consult https://en.wikipedia.org/wiki/Atan2
# note: a is not equal f !!!

# intersection of a and b lines

 (sin(a+b))^2-2*(cos((a-b)/2))^2-t*sin(a+b)*(sin((a-b)/2))^2
 
# check the SIGN, noting e.g. + or  - you should pass the second string BETWEEN + and -
t=0 # Q: equality at a,b=0,90,180,270
t=(sqrt(17) - 3) / 2  # T 
t=1 # D: touching at the center
# relative radius
r= 2+|t|