When experimenting with generative algorithms it is sometimes useful to start with a highly organized structure. Then try to find interesting ways to gradually disrupt it. Obvious starting choices are geometric primitives, but regular grids and other patterns will work too.

Interesting generative results can often be found somewhere between the initial, organized structure, and the chaotic end-result. Something that has enough order to be recognizable, without being boring. Whilst not being so chaotic that there is no discernible pattern left.

Below is one such example. You can find others in my gallery.

Lines and random Walkers
Lines and Random Walkers

Randomness can also be used as the initial structured aspect. Here is an example where the initial structure is a graph drawn from uniformly distributed nodes. The uniform distribution has the additional limitation that no two nodes can be closer than a certain minimum distance. Chaos is introduced by having a random walker push the nodes around the canvas.

Distorted Distribution
Distorted Distribution

It is also possible to reverse the process. That is, this image was created by drawing a few lines on the canvas, then using random walkers to introduce vertices on, and around, those lines. This process was designed so that new vertices are concentrated near areas where the initial lines intersect.


After that a relative neighbourhood graph was drawn between the vertices. The latter being the ordered aspect of the algorithm.

  1. I'm writing this mostly for my own benefit. I need some practice articulating it.
  2. the graph is in black, the gray lines are remnants of the random walker process.