Get started with ‘gyro’

library(gyro)

About three years ago, I wrote an article on my blog about Ungar’s approach to hyperbolic geometry, and how it can be used to draw some hyperbolic polyhedra in R, using the rgl package. I invite you to take a look at this article.

Now I’ve implemented these ideas in the gyro package. Maybe you know there are several models of hyperbolic geometry; gyro deals with the hyperboloid model (or Minkowski model) and the Poincaré model.

The main functions of the gyro package dealing with 3D polyhedra are:

You can run gyrodemos() to get some examples of code which draw some hyperbolic polyhedra.

If you are looking for other polyhedra, you can go to the Visual Polyhedra page of the dmccooey website. Here you will find the Cartesian coordinates of the vertices of many polyhedra. If the polyhedron is convex (in the Euclidean space), use plotGyrohull3d to quickly draw it. Otherwise you need to know the faces of the polyhedron, and they are given on the dmccooey website. From the faces you can derive the edges. See gyrodemos() for some examples. The eusebeia website is another resource to find the Cartesian coordinates of the vertices of some polyhedra. Finally you can also use the R package Rpolyhedra.

The gyro package also offers the tiling function to plot hyperbolic tilings of the Poincaré disk.