# Equilateral triangulation of a polyfile-defined surface

I would like to be able to make a (low fidelity) triangulation of a given surface with constant edge lengths (using equilateral triangles). This requirement limits the Gaussian curvature at each vertex to be consistent with an angle deficit/excess of multiples of π/3, so I don't expect the triangulation to be 'good', just recognizable.

As a test I'm using the "Stanford Bunny", (poly files available at http://graphics.stanford.edu/pub/3Dscanrep/bunny.tar.gz) and hoping for a triangulation with (order of magnitude) 100 triangles.

My current best idea is to use a non-Mathematica 3D graphics program to make a triangular mesh of approximately the right size with not-very-stretched triangles (see http://gmt.soest.hawaii.edu/doc/5.1.0/triangulate.html, for example) then import the structure into Mathematica and replace the edges with unit springs, and relax. This relaxation is necessary to get constant length edges, but will unfortunately mess up the surface.

But Mathematica is so versatile that there has to be a better, more elegant way. Any suggestions?

• BTW: the Stanford bunny is built-in: ExampleData[{"Geometry3D", "StanfordBunny"}] – J. M. will be back soon Aug 27 '15 at 2:04