Archive for the ‘l-systems’ Category

L-systems revisited

November 16th, 2009 admin 3 comments

I sat down again to update my ActionScript L-system renderer so that it can use multiple rules and new characters.

Next, I fiddled around a bit with axioms, rules and angles and came up with some pretty cool new curves (if I may say so myself). Check them out below.
I’ve also added the renderer application, if you run it you can play around with the curves (controls are listed at the bottom of the app). If it is too slow, please decrease the number of iterations or resize the window to be smaller.

Read more…

Categories: art & technology, l-systems, programming Tags:

L-system animation

July 30th, 2009 admin No comments

A long while ago I wrote a small Flex application to draw L-systems (post).
With this app I noticed how cool it is to play around with drawing angles by moving the slider (post #2).

But somehow, I never thought of adding a play button to the slider so it plays it as an animation.
So now I did. Well, no play button, but just an animation. Here it is. Please enjoy.

lsystem animator

Note: after clicking once, you can use the + and – keys to speed it up or slow it down

Categories: generative art, l-systems, programming Tags:

Fractal spirograph

July 11th, 2007 admin 2 comments

These patterns I made with the l-system application from the previous post, just by experimenting with one rule and changing the angle of rotation! The rule was F -> F+F-F+F and apparently it gives a lot of spirograph-like effects. I also really like the last one, it looks like the pink panther (including the body) :)

As always, click the images to see them at full size.


Categories: generative art, l-systems Tags:

L-systems in Flex

July 9th, 2007 admin 3 comments

I’ve made a small application in Flex to draw l-systems with.
The previous post explains what l-systems are exactly, but here are the rules again in short:

L-systems is a grammar describing the growth of plant-like structures. It is made up of simple drawing commands and rules how these change during growth. For example, you start out with the command ‘F’ meaning draw one unit. You add a rule that says ‘change F to F+F-F’ where ‘+’ and ‘-’ mean turn left and right, respectively, with a predefined angle. Then, as it grows, the sequence of commands grows longer and more complex, as every time each ‘F’ is replaced by ‘F+F-F’ until you end up with a long sequence of simple commands that make up a complex shape. Add branching with the ‘[' (start branch) and ']‘ (end branch) characters and you can quickly create nice plant structures.

Try out the application here. It’s a small first version with some limitations, such as a maximum amount of drawing commands to prevent slow processing times, the possibility to define only one rule, and the fact that it always starts out with ‘F’. You can define your own rule of how ‘F’ changes (using F, +, -, [ and ]), you can set the angle of rotation and the amount of iterations to define the complexity of the resulting shape. If responses are too slow, you can turn off ‘update realtime’ and hit the ‘go’ button to calculate your l-system.

lsys_flex_01.gif lsys_flex_02.gif lsys_flex_03.gif

Categories: Flex, l-systems Tags:

Interactive Morphogenesis to Rumania

July 6th, 2007 admin No comments

The Interactive Morphogenesis project, which I made a while ago with Rick Companje and Irad Lee, has been accepted for the Areas of Conlu(x)ence conference in Rumania.

Areas of conflu(x)ence proposes an international debate on the relationship between art and technology in the present digital era, focusing on the impact of the new media in our lives.

The project has to do with l-systems, which are mostly used to model plant growth. As Wikipedia puts it:

An L-system or Lindenmayer system is a formal grammar (a set of rules and symbols) most famously used to model the growth processes of plant development, but also able to model the morphology of a variety of organisms. L-systems can also be used to generate self-similar fractals such as iterated function systems.

To explain it in a bit more detail: take a string, say “F” and define a rule saying how this “F” changes, for example “F->F+F-F”. This has the effect that you can iterate over the string, each time replacing each “F” with “F+F-F”. After three iterations the string would have become “F+F-F+F+F-F-F+F-F+F+F-F+F+F-F-F+F-F-F+F-F+F+F-F-F+F-F”. Now imagine these different characters to represent drawing commands, where in this case F means draw a line in the current direction and + and – mean turn left or right by, say, 45 degrees. These few simple rules can lead to very complex and very beautiful structures being drawn, such as the famous Koch Curve, which is not exactly plant-shaped but does convey the complexity and beauty hidden within the simple grammar of l-systems:


We used this grammar to create a generative art piece which uses sound input to generate an l-system, visualize it, and convert it to sound output as well. We also customized it a bit to make it 3D and we let it move to environmental sounds as well. There’s an active demo where you can simulate the influence of sound by moving you mouse cursor to make the shape move. Also be sure to check out the website :)


lsystem_01.gif lsystem_02.gif lsystem_04.gif lsystem_03.gif

Categories: generative art, l-systems, processing Tags: