A simple model of a Natural Process – Example 5.4


One of the things I’ll mention a lot in this blog is that complex geometry and form usually comes from pretty simple rules, with an element of controlled “randomness” applied. This example might be one of that. And you probably would never actually build a landscape like the one I am showing here (unless you work for Disney World), the principle could be reinterpreted and reapplied to create something interesting in new, more contemporary, and hopefully constructible way!

The background for this example is one of my favorite landscapes… Goblin Valley in Utah. Fortunately it is not a national park or else there would be hordes of German tourists 😉 As such, it is generally not that heavily trafficked.

Source: Wikipedia - Goblin Valley

Source: Wikipedia – Goblin Valley

What characterizes Goblin valley are special landforms called “Zeuge” (german for Witnesses), also hoodoos or goblins according to wikipedia. Anyways, the landforms are 10s of millions of years old, but are caused by different wind erosion rates happening at different rates in the various layers of rock. The classic “Zeuge” are formed when the top layer of rock is much more erosion resistant than the bottom, softer layers. Over time, the landforms start to look like mushrooms, goblins, witnesses, etc…

So based on this principle, I decided to create a script where I have different layers of rock, and where I could define the “thickness” and “erosion rate” of each layer. Then an initial cracked surface would have shapes that slowly shrink tied to a slider, with the extruded and capped geometry shrinking as well.

I put in a bit more complexity where the rocks can “sense” if the guy below them is completely eroded away, in which case the rock falls down or collapses. It still needs some fine tuning, but here are the results of an imaginary erosive process happening over 150,000 years (probably should be more like 150,000,000 years)

08_phasesAnyways, I won’t explain the entire process in detail, but I started with a “Voronoi” created exactly like in Example 2.6.

Next I did something like the script image below for each layer… The amount off offset is determined simply by multiplying the “Erosion Rate” by the “number of years elapsed”  If a shape gets too small it is culled. If it is culled, its neighbors above “sense” this with a Closest point test, and then move down. It gets a bit complicated, and I was considering making something to let the rocks pile up…but I didn’t in the end.


Here you can change the erosion rates for the different layers to see what kinds of forms come out…

08B_100So, in the end, I was quite happy playing around with this. I still want to try and adapt the logic into a “real” landscape, but the point is, by looking at natural processes or systems, you can often apply the principles to create something new and interesting. You can’t build these Goblins using natural processes, but there are other things you can. The other principle I wanted to demonstrate was the potential to start to represent time in a project. Over time, processes change, but non-linear relationships can also be modeled. The simple rules combined with the element of time can be used to create very complex forms.