True 2D and 3D Voronois

True 2D and 3D Voronois

Compared to my other wish list requests, this one is a long shot, but I hope Martin and C3D users will consider the creative applications of mathematically-calculated Voronoi 2D patterns and 3D designs.

C3D has a Voronoi material node which generates a wide range of procedural patterns, but it only imitates what some other graphics programs are doing in the fields of design, architecture and general scientific research.

Like 2D fractals, 2D Voronoi geometric patterns can be hand drawn, but it’s very slow and tedious. So Voronois remained obscure and unused until computers made it possible to create complex designs in real time. Like fractals, Voronoi patterns are ubiquitous in nature, and so provide a powerful starting point for creating new objects and architecture. Familiar examples are bubble clusters, foam, stress cracks, and plant and animal cells. Many real-life problems such as shortest-distance delivery routes and disease transmission can be visualized as voronoi cells. Voronoi structures have an inherent strength, economy, and integrity that make them ideal for anything from 3D printed knick-knacks to large buildings.

Very possibly, some of you are already using outside graphics programs to generate Voronois. If so, please advise forum readers about how to get started. Or advise Martin about potentially adapting or licensing available programs.

I lack the software to generate some pictures to illustrate the concept, so I will borrow a few simple examples from Open Sources and universities. As usual, Google.

http://learning.cis.upenn.edu/cis520_fall2009/index.php?n=Lectures.LocalLearning
voronoi.png

http://people.sc.fsu.edu/~jburkardt/f_src/sphere_voronoi/sphere_voronoi.html
http://people.sc.fsu.edu/~jburkardt/f_src/sphere_voronoi/gen_00100.png

http://www.qhull.org/html/qvoronoi.htm
normal_voronoi_knauss_oesterle.jpg

http://math.lbl.gov/voro++/about.html
cylinder_t.png
 

Attachments

  • voronoi.jpg
    voronoi.jpg
    20 KB · Views: 932
  • gen_00100.jpg
    gen_00100.jpg
    29.8 KB · Views: 955
  • knauss_oesterle.jpg
    knauss_oesterle.jpg
    17.2 KB · Views: 1,011
  • cylinder_t.jpg
    cylinder_t.jpg
    25.7 KB · Views: 952
I think you're asking for voronoi geometry generation. C3d's voronois are 'true' afaik — they're just textures not geometry. What you're asking for could be useful for, for example, destroying things procedurally. That said, I think it could be done via scripting.
 
Voronois from points

The Cheetah 3D forum is amazing. I no sooner tap the Submit button with a question than a genius from the other side of the planet responds with a solution.

Thank you Hiroto for making the Voronoi Plane script. It’s the first opportunity I have had to actively experiment with generating Voronoi patterns.

What makes the script special is that it produces actual 3D models with points, edges and polygons, as compared to the Voronoi material node, which is an excellent tool for myriad surface patterns.

I used the script as the starting point for some simple models using inner extrude, shell, crumple and subdivision modifiers, and the bevel and magnet tools. By combining it with Hiroto’s Polygon to Spline script* it was possible to make frameworks with the sweep and isosurface tools.

* http://www.tres-graficos.jp/blog/files/article.php?id=36

Would it be possible to further develop this type of script? If so, how about refining the current script to work on arbitrary 2D polygons, not limited to squares. Then you could have a Voronoi model any size, shape, or scale, including more than one scale in a model to represent finer detail within a larger structure.

In my original post on the Wish List thread I was requesting the ability to make Voronoi 2D and 3D models from scratch. Specifically, that means setting the points on a 2D plane or in a 3D space, then letting the program calculate firstly the distances between the points (I think they are referred to as “sites,” like in Hiroto’s script), and then the Voronoi cells (adjacent polygons in 2D, polyhedra in 3D).

It reminds me of another of Hiroto’s great scripts, the Particle Connector script*, which “connects the dots” with adjustable splines.

* http://www.cheetah3d.com/forum/showthread.php?t=8025

I have no idea whether making Voronois from points can be accomplished by a simple modification of a pre-existing script (for 2D anyway), or if it’s a totally different paradigm requiring something more complex than Javascript. I know such programs exist, but I am Cheetah-centric by choice and I hope C3D might provide the tools to create a whole new class of design and architecture that derives from natural, organic geometry. Those of us who have been around 3D computer graphics since the 90s can recall how Bryce adapted fractal geometry in a simple and powerful user interface.

Voronois are already showing up in 3D printing and contemporary buildings. Adding them to Cheetah 3D would greatly enhance its feature set and widen its appeal to artists and designers.
 
By combining it with Hiroto’s Polygon to Spline script* it was possible to make frameworks with the sweep and isosurface tools.

Alternatively you can export the Voronois-plane UVs to PDF and Cheetah3d draws one spline per Voronois-tile. Simply load this PDF into Cheetah3d - (there always will be a little extra marker square at the bottom left side) If you load the PDF for instance into a vector.app and save to SVG you you receive splines per tile.

Cheers
Frank
 

Attachments

  • VoronoisPDF.jpeg
    VoronoisPDF.jpeg
    55.6 KB · Views: 883
Back
Top