shine
Copyright 2014 Alden Walker akwalker@math.uchicago.edu Released under the GPL.
shine currently does the following: (1) finds and visualizes hyperbolic structures on surfaces (2) visualizes embedded surfaces in R^3 and (hyperbolic) geodesics on them
See INSTALL for installation instructions. Once you have the appropriate python packages, you should just have to type:
ipython shine.py
(I use ipython).
comments
Shine is not particularly polished (hah). It is extremely slow, and opening large
surfaces takes a while (because it finds the hyperbolic structure).
It should be rewritten in C++ or something and use OpenGL. Sometimes
drawing loops has random bugs.
Email me with any questions, and especially with any bugs you encounter!
acknowledgements
This program was inspired by wireframe by Danny Calegari (available on his github page) and by geometric surface code by Nathan Dunfield.
opening/loading
Shine creates surfaces as boundaries of regular neighborhoods of planar graphs. It triangulates them and finds a hyperbolic structure (it tries to make the incident triangles around a vertex have equidistributed angles). There are two ways to get a planar graph into shine.
Creating a surface from a graph:
Select "new from graph" from the file menu and draw a graph. Click a vertex to make it active, and then you can click on either another vertex (to draw an edge between them) or on blank space (to create a new vertex joined to the active one). The dots show integer points. Since takes a neighborhood of radius 1/2. The chunkier a surface is, the better looking it will be.
Loading a graph file:
A graph file has the following format: