Tue Jul  8 16:57:31 BST 2008

Here are two of the conventions that SnapPea uses which are relevant
to Twister:

From peripheral_curves.c

 *  If the
 *  manifold is oriented, the meridian and longitude adhere to
 *  the usual orientation convention;  this is, if you place your
 *  right hand on the torus with your fingers pointing in the
 *  direction of the meridian and your thumb pointing in the
 *  direction of the longitude, then your palm will face the
 *  cusp while the back of your hand faces the fat part of the
 *  manifold.  Note that this corresponds to the usual convention
 *  for orienting meridians and longitudes on link complements.

That is, looking into the manifold from the cusp: 

       ^ meridian
       |
 ------|------
 |     |     | cusp torus.
 |     |     |
-------|----------> 
 |     |     |   longitude
 |     |     |
 ------|------
       |

(So if the knot is fibred then the fibres should be horizontal.)
peripheral_curves.c also describes the format for specifying a
meridian/longitude in the .tri file.  


From kernel_typedefs.h

/*
 *  The Orientation of a tetrahedron is determined by placing your hand
 *  inside the tetrahedron with your wrist at face 0, your thumb at face 1,
 *  your index finger at face 2 and your middle finger at face 3.  If this
 *  is most comfortably accomplished with your right hand, then the
 *  tetrahedron is right_handed.  Otherwise it's left_handed.
 *
 *  Portions of the code assume that right_handed == 0 and
 *  left_handed ==1, so please don't change them.
 */

So right_handed gives:

0----------1
 |\      /|
 | \    / |
 |  \  /  |
 |   \    |
 |    \   |
 |  /  \  |
 | /    \ |
 |/      \|
2----------3

Here the vertex, opposite the named face, is labelled.  The way I
remember this is: place the tetrahedron on the table in front of you.
The point of the tetrahedron is labelled 0 and the vertices on the
table are labelled 1, 2, 3 in counter-clockwise order.

Notice that if vertex 3 is up and 0, 1, 2 are counter-clockwise then
the tetrahedra so obtained is _left_handed_.  (And I believe that
_that_ is the version of right_handed I used while writing the
program... Sigh.)
