A Simulation of Crystalline Growth Using Polyhedral Augmentation

Crystals and crystalline growth have been studied for centuries because of, at least in part, their symmetry. Crystals are cut in such a way as to increase this symmetry even more, because most people find symmetry attractive. However, where does the original symmetry in a crystal come from? Without it, jewelers who cut gemstones would not exist, for the symmetry of crystalline minerals themselves is what gives such professionals the raw materials with which to work.

To understand anything about how crystals grow, one must look at a bit of chemistry. The growth of crystals:

  • Involves very small pieces:  atoms, molecules, ions, and/or polyatomic ions
  • Involves a small set of simple rules for how these small pieces attach to each other

Why small pieces? That’s easy:  we live in a universe where atoms are tiny, compared to anything we can see. Why is the number of rules for combining parts small, though? Well, in some materials, there are, instead, large numbers of ways that atoms, etc., arrange themselves — and when that happens, the result, on the scale we can see, is simply a mess. Keep the number of ways parts can combine extremely limited, though, and it is more likely that the result will possess the symmetry which is the source of the aesthetic appeal of crystals.

This can be modeled, mathematically, by using polyhedral clusters. For example, I can take a tetrahedron, and them augment each of its four faces with a rhombicosidodecahedron. The result is this tetrahedral cluster:

Image

Next, having chosen my building blocks, I need a set of rules for combining them. I choose, for this example, these three:

  1. Only attach one tetrahedral cluster of rhombicosidodechedra to another at triangular faces — and only use those four triangles, one on each rhombicosidodecahedron, which are at the greatest distance from the cluster’s center.
  2. Don’t allow one tetrahedral cluster to overlap another one.
  3. When you add a tetrahedral cluster in one location, also add others which are in identical locations in the overall, growing cluster.

Using these rules, the first augmentation produces this:

Image

That, in turn, leads to this:

Image

Next, after another round of augmentation:

Image

One more:

Image

In nature, of course, far more steps than this are needed to produce a crystal large enough to be visible. Different crystals, of course, have different shapes and symmetries. How can this simulation-method be altered to model different types of crystalline growth? Simple:  use different polyhedra, and/or change the rules you select as augmentation guidelines, and you’ll get a different result.

[Note:  all of these images were created using Stella 4d: Polyhedron Navigator. This program is available at http://www.software3d.com/Stella.php.]

 

An Octahedron, Augmented with Eight Great Icosahedra, and the Dual of this Augmented Polyhedral Cluster

Image

An Octahedron, Augmented with Eight Great Icosahedra, and the Dual of this Augmented Polyhedral Cluster

I made these using Stella 4d, which you can try at http://www.software3d.com/Stella.php. Here is its dual, also:

GrIcosadual-Augmented Octa

 

 

A 182-Faced Convex Hull, with an Explanation of that Term, As It Relates to Polyhedra

Image

A 182-Faced Convex Hull

I made this polyhedron, using Stella 4d: Polyhedron Navigator, by taking the convex hull of a different polyhedron, one not shown here. To those who don’t already know, though, that just raises a question:  what does it mean to “take the convex hull” of a polyhedron? Precisely-worded mathematical definitions of “convex hull” are easy to find, using Google and/or Wikipedia, but I have a more informal definition — one which matches the way I actually think about this operation one can perform on polyhedra.

Here’s how I picture the process: imagine a thin, spherical rubber sheet is surrounding, but not touching, the starting polyhedron. Next, start shrinking the rubber sheet. It can touch the polyhedron inside it (which might be non-convex), but it cannot penetrate any of its faces. Keep shrinking the sheet until it gets caught at points on the polyhedron inside, and then keep shrinking it further. When it starts to stretch, keep going. Stop just before the rubber sheet starts to burst from being over-stretched — and the shape of the rubber sheet, at that point, is the convex hull of the polyhedron inside it. Stretching the rubber sheet, to the limit, ensures that the convex hull will only have flat, polygonal faces — not any sort of curved surfaces.

Here’s an example — one that will end with a different convex hull than the one found at the top on this post. I’ll start with a great rhombcuboctahedron, which is also known as a great rhombicuboctahedron, as well as a truncated cuboctahedron.

Trunc Cubocta

If I take the convex hull of this great rhombcuboctahedron, the result is simply another great rhombcuboctahedron — the very thing I started with — which doesn’t explain much. Therefore, before taking the convex hull, I’m going to alter it. This can be done in many ways, of course. I’m choosing augmentation of each face with prisms, and setting the prism-height at twice the edge length of these faces. Here’s the result.

Trunc Cubocta

Taking the convex hull of this doesn’t return this same polyhedron, as it would have before the augmentation-with-prisms. Instead, after the “stretching of the imaginary rubber sheet,” this is the result:

Convex hull 1

In this image, the faces that are unmoved still have their original colors. There are also many new faces, of varying types, which were created in the “convex hulling” process. All of these new faces are shown in the same drab-green color.

The next step, changing the color scheme, has little (if any) mathematical significance, but it certainly does increase the attractiveness of the result — and admiration of beauty is, and always has been, a major motivating force in the millenia-old study of polyhedra. I’m choosing a color scheme which gives each face-type a separate color, and also lets the red, yellow, and dark blue keep their same colors.

Convex hull 2

If you’d like to try Stella 4d for yourself, please visit www.software3d.com/Stella.php. A free trial download is available.