top of page

Generative & L-Systems  

(Processing3)

All of the projects found in this section are made with Processing3.

Processing is very popular in the generative art community, and my bachelors course didn't shy away from teaching us general generative techniques that can be applied in a host of ways, like how I applied Cellular Automata in my dissertation for example.

In this section you will find:

  • Cellular Automata

  • L-Systems and "Tree generation"

Cellular Automata

Cellular Automata is an interesting form of discrete computation where a dimensional space is formed of set unites or grid cells. Each cell can be in one of a set of states, and through the use of different rules it updates from generation to generation. Typically creating emergent complexity. 

​

I also used Cellular Automata as the main technology in my bachelors dissertation as a dynamic difficulty system.

​

For more information on Cellular Automata you can see the Wikipedia entry here.

Another famous Cellular Automata system, which is actually one of my favourites is Conway's Game of Life. This is a 2d system, so the updates are shown per frame, rather than per line. Since the theme of it is to be an abstraction of Life, I blurred the harsh lines with some filtering techniques to make it feel slightly more organic whilst still being clearly understandable.

L-Systems

L-Systems or Lindenmayer Systems are a programmatic language set, with grammar, letters/words, and a system to interpret them.

 

For all of the programs and images bellow, I made a turtle drawing tool which I could tell where to point with angles, how far forwards to walk, if it should draw when it walks, and to push and pop it's angle and location onto a stack to return to in the future.

​

Other than the turtle, all of the programs also have a grammar set to give the instructions to the turtle. Typically consisting of walk a fixed unit forwards or back, leave a return point, and rotate left or right by a fixed amount. And sometimes a scaling rule, so that the exponential fractals produced can fit in the screen better.

​

Here's an example of a sentence in this language "F[+F]F[-F]Fs".

Here is my take on reproducing well known L-systems: Knoch's Snowflake and Island, The two handed Dragon and  Quadratic Substitutions.

As you can tell with the above examples, these systems are good at making fractal systems, or almost any visually recursive system, like trees for example. It's a common practice to make trees using this sort of system, because if you make the rule set, you can algorithmically make some minor changes to a particular sentence, and end up coming up with hundreds of different looking trees or plants very quickly. Bellow are some examples of this, ranging from more abstract, to more realistic. Bare in mind that all of these are made in 2D so won't look exactly like a tree, but all the L-system would need to accompany for that is two letters for rotate left and right.

To request access to any of these programs, please contact me through

the email below, or through the Contact Page

bottom of page