Plot #060source code
Generated by: Sketch 115 / 3D voronoi octahedron
![Line drawing of an exploded octahedron. The outlines are thicker, and edges that are hidden are rendered as a dotted line.](/files/plots/060.jpg)
© Gábor L Ugray CC BY-NC-SA
This was a long and very roundabout journey! I was looking into cyanotypes and remembered Winterbloed's old article, Sun and broken crystal: winterbloed.be/sun-and-broken-crystal/. In it he describes how he created the "crystal," which is an exploded view of an icosahedron's Voronoi tessellation. He describes the process, but I had to figure out how to create the 3D Voronoi tessellation on my own.
I found the venerable Voro++ library by Chris Rycroft: math.lbl.gov/voro++/. Never mind that it's C++! I first used a command-line version of it to generate the geometry offline. Ultimately I ended up coding a thin wrapper that I compiled to WASM using Emscripten. The last bit was creating a simple raytracer is JS. I did it partly because I'd never done it before, but also to let me keep some, but not all, hidden edges.