## How hyperbolic tilings are programmed

### The programs to make hyperbolic tilings are written in
Caml ,
using the
MLgraph library. Symmetry groups of tilings are computed formally using a definition
by generators and relations and a canonical rewriting system to decide
equality. Hyperbolic isometries are defined as homographies over
complex numbers.Tiles are defined essentially as lists of points and isometries are applied
pointwise.

In the paper Tilings as a programming exercise ,
I describe a generic implementation of tilings using Objective Caml modules to parameterize
over Geometries, Symmetry groups and Patterns.

## Credits

###
The fish picture was first programmed by
Antoine Chambert-Loir
for a student programming project at ENS .

H.S.M. Coxeter
had described the geometry of this picture in
* The non-euclidean symmetry of Escher's picture Circle limit III,
Leonardo 12, pp 19-25, Pergamon Press, 1979 *.
Philippe Lechenadec has given a canonical rewriting system for
hyperbolic groups in
* Canonical forms in finitely presented algebras, Pitman, 1986 *.
Adrien Douady explained how to define the hyperbolic rotations numerically.

### The kangaroo picture was designed for the 1996 poster of
the game * Kangourou des Mathématiques * by
Guy Cousineau, Claudie Missenard and Raoul Raba.

### To obtain the Caml programs for the fish and the kangaroo examples and many others, you can
get the
tar archive containing programs and examples

### If you have done or have seen similar things
please let me know.