You may have seen those fascinating 3D models that seem to have replaced the normal shape with a strange, smooth skeletal networked form. The complex structures seem impossibly difficult to design with conventional 3D modeling tools, and indeed they are. Perhaps they've been made with mathematical 3D model generation tools operated by a PhD? Sometimes this is the case.
But did you know there's an easy way to do this yourself with almost any 3D model?
We found tutorials describing how to create "Voronoi" shapes. But what is a "Voronoi"? According to Wikipedia:
A Voronoi diagram is a way of dividing space into a number of regions. A set of points (called seeds, sites, or generators) is specified beforehand and for each seed there will be a corresponding region consisting of all points closer to that seed than to any other. The regions are called Voronoi cells.
That's exactly what many of these strange 3D models are doing: a regular 3D model has been "Voronoized". It's actually quite a simple process to do yourself using the free open source tool MeshLab. The process involves these basic steps, which you can see in more detail in the tutorials linked below:
- Ensure your 3D model's mesh is composed of many faces
- Randomly add points throughout the mesh
- Apply a Voronoi filter on those random points to create regions
- Cut out the Voronoi regions, leaving just the connectors between cells
- Fatten up the connectors as required
- Smooth and refine the result
We tested this approach several times and found it to be relatively straightforward and providing decent results, as you can see above.
One caution: the Voronoi version of your 3D model will follow the outside surface, meaning that the top of your Voronoi model may require support to successfully 3D print. Solid objects become hollow, with just the voronoized surface and nothing inside.
We used these tutorials to learn how to execute this process. Be warned, however, that some refer to older versions of Meshlab that were slightly different from current versions - but it's easy to relate their instructions to newer versions.
And of course, you'll need Meshlab, too.