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).
The main functions of the gyro package are:
gyrotube
, to draw a tubular hyperbolic segment (if you don’t want a tube, use gyrosegment
instead);
gyrotriangle
, to draw a filled hyperbolic triangle in the 3D space;
plotGyrohull3d
, to draw the hyperbolic convex hull of a set of 3D points.
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. It is archived on CRAN, but you can install it from the tar.gz
archive.