A Voronoi Puzzle is a physical 3D puzzle that can be assembled like a traditional puzzle, but with a twist: each puzzle is entirely unique and customizable, thanks to a real-time generative design process (described in detail below under Process). Inspired by naturally occurring Voronoi patterns—such as those found in soap bubbles, butterfly wings, and giraffe spots—the puzzle leverages this mathematical structure to create one-of-a-kind pieces. Voronoi diagrams have broad applications in fields such as economics, mathematics, and computational geometry.
A Voronoi Diagram, as defined by Other Machine Co., is:
“… a mathematical method of dividing space into regions. Seed spots are spread along a field, and polygons are generated around these seed spots. The polygons represent every point in space that is closer to a particular seed spot than to any other.”
The puzzle pieces are the individual cells of a 2D Voronoi diagram, each capturing the cell’s evolution over time. Every piece serves as a physical representation of the cell’s history as its corresponding seed spot moves through space. In essence, this puzzle operates in four dimensions, encoding the temporal evolution of the seed spots and how they alter the diagram’s shape and structure.
Watch the video below to see how the seed points move and transform each cell, illustrating the intricate relationship between motion and form.
Process:
Each Voronoi Puzzle is unique and fully customizable, allowing control over parameters such as the number of seed sites (puzzle pieces), dimensions (width, height, and depth), entropy, and history length. I developed an application using C++, OpenGL, and OpenFrameworks to study and visualize how seed sites in a Voronoi diagram evolve over time (as demonstrated in the video above).
To facilitate real-time customization, I designed an interface using ofxUI and ofxGenerative, enabling precise control over the puzzle’s parameters and the physics governing the seed sites’ movement (shown in the video below). The application allows users to adjust these parameters interactively and capture a “snapshot” of their preferred configuration. This snapshot generates a set of 3D puzzle pieces along with a corresponding MEL script.
The MEL script is then used within Autodesk Maya to automatically create holes for magnets and to evenly space the puzzle pieces for 3D printing. For a complete overview of the design process, check out the video below, or refer to the detailed instructable.
Designer & Developer: Reza Ali
Output: 3D Prints & Custom Software (C++, openFrameworks)
Residency: Autodesk Pier 9
Year: 2014