Geometry : Polyhedra Viewer using Three.js

Created on June 26th, 2022. Last update on June 26th, 2022.

TL;DR

    Controls are :
  • Rotate : Left Mouse Button
  • Zoom : Mouse Wheel
  • Left and Right Arrows : go to previous and next polyhedron.

Context

For a long time, I was in admiration with the OpenGL viewer used by David McCooey on his website [1] where he was sharing a great database of uniform and other kinds of polyhedra. I did get his viewer to work on my computer for my personal use but I was not satisfied by the artefacts that appeared when dealing with concave polyhedra. It looks like David McCooey made his polyhedron viewer by himself from scratch and I was not versed in the arcane of Javascript and OpenGL as much as he seems to be so I was kind of stuck. My first attempt at displaying polyhedron images was to generate pictures and animated images using Blender to populate my website as can be seen on older posts but this solution definitely lacked the interactivity and the joy of playing around with the 3D models.

After struggling with Three.js and Babylon.js for quite some time, I have finally managed to make my own polyhedra viewer thanks to some Three.js examples posted by Lee Stemkoski [2]. The script I am using was adapted from his Polyhedra Viewer [3]. I liked everything about it: the camera movement, the GUI where you can navigate through different models, the ability to toggle the transparency and the way it handled the models' data. I have improved many things and I feel that I am now able to share it here. Let's now talk about the content.

What to show

My main present interests are the polyhedra made of regular convex faces, non self-intersecting whether they are strictly convex, convex with some adjacent planar faces or simply concave ones. The data for the different categories were retrieved from different sources or made by me:

  • Platonic Solids by David I. McCooey
  • Prisms and Antiprisms were generated with simple formulas
  • Archimedean Solids by David I. McCooey
  • Johnson Solids by David I. McCooey
  • Solids with Conditional Edges by Robert R Tupelo-Schneck
  • Diamonds by Alex Doskey
  • Triamonds by Roger Kaufman
  • Stewart Toroids from Stella software library by Robert Webb
  • Zalgaller Solids are a selection of 28 Platonic, Archimedean and Johnson Solids that can be combined with Prisms and Antiprisms to make all convex regular-faced polyhedra.
    See V. A. Zalgaller, “Convex polyhedra with regular faces”, Zap. Nauchn. Sem. LOMI, 2, Nauka, Moscow–Leningrad, 1967, 5–221 link
    A condensed English and French version is available here : Gagnon, S. (1982). Convex polyhedra with regular faces. Structural Topology, 1982, núm. 6. link
  • Convex Deltahedra by Roger Kaufman
  • Cundy Deltahedra by Roger Kaufman
I have others of my own to add to this list but this will be for another day.

If you happen to know other polyhedra that you think should be added to this list, please send me a message.
If you wish to use the polyhedra viewer for yourself, please send me a message.

References

[1]   David I. McCooey. Visual Polyhedra. http://dmccooey.com/polyhedra/index.html. Accessed on 03-12-2018.

[2]   Lee Stemkoski. Three.js Examples. http://stemkoski.github.io/Three.js/. Accessed on 26-06-2022.

[3]   Lee Stemkoski. Polyhedra Viewer. http://stemkoski.github.io/Three.js/Polyhedra.html. Accessed on 26-06-2022.