Lparser
About Lsystems and Lparser ...

A Lsystem is a rule like description of a 3d form. It contains descriptions of parts and how they should be assembled together. The program reads a Lsystem description and processes it into a 3d form which can then be outputted in several formats, including VRML, DXF and POV. The description is applied to itself a number of times (recursion levels) so fractal and recursive forms are very easy to describe in a Lsystem. That's why they are used a lot for plants, trees and natural looking organic forms. By increasing the recursion level the form slowly grows and becomes more complex.

My implementation of a Lsystem parser (called
Lparser) also allows mutations to take place during the growing of the form. These mutations can change the form slightly or quite dramatically. This allows you to create a form once and then create a whole series of forms all clearly descendant from the original Lsystem.
The book Evolutionary Art and Computers by S. Todd and W. Latham was used to base the genetic 3d form mutation principles on. In here you'll find a lot of interesting ideas on how to grow and evolve organic looking forms of your own.

The implemented Lsystem is based on the one described in the book: The Algorithmic Beauty of Plants by P. Prusinkiewicz and A. Lindenmayer (this is where the
L comes from). You can now download this book online here. If you want more information on making your own Lsystems you'll want to check out this book. A lot can be done by changing the Lsystems supplied with the Lparser and seeing for yourself what changes in the final form. In the link section you'll find pointers to online documentation and tutorials for Lsystems.

The third inspirational source is The Blind Watchmaker by R. Dawkins. Here you'll find a lot of ideas on evolution and the role of mutation.
www.simonyi.ox.ac.uk/dawkins/WorldOfDawkins-archive/Dawkins/Work/Books/blind.shtml
Lparser source code

Source code of the lparser ZIP file can also be downloaded, for those who want to port or just play with new options. The code is straight, no frills ANSI-C with even less documentation but it should run on pretty much anything with a C or C++ compiler. My current job will leave me with neither the time nor the inclination to do serious code hacking so I'm throwing the code into the wind, hoping that it will germinate and produce lots of mutated offspring ! The Lparser source may be freely distributed.

By now (6 years later) you can find the code embedded in the following Lsystem software packages: FLEA, Lmuse, L-neuron, Lsystem4, L-breeder and AM Lsystem. So the code certainly has germinated and produce the intended offspring ...
Lparser program

I'm in the process of putting a  new lparser package together to work with VRML viewers and today's opensource tools. See the New Lparser page for this. Here you can still download the original package with example files and the DOS command line version. The buildin Lviewer will not work anymore on most of todays PC's. The Lparser package may be freely distributed.
Lparser Links

Check the pages of Cees van der Mark for more information on the use of POVRAY with Lparser.

I've had a number of questions from educational institutes. Lparser code has been used as a basis for teaching computational morphology and was used a number of times for student essays. See an great example here.

You'll find several places on the net where others have run mutations experiments as well. This is one of my favourites: The Zoo.

If you want information on L-systems, searching for Lindermayer, or fractal geometry will get you lots of good places to start. Most impresive work I found is at this site.

And off course the lparser shapes have found their way into many images ...
Divisor
 Home Page   
 Lparser   
 Designer's Dream   
 Emerald Cities   
 Polyhedra   
 Psion Programs   
 Spikey Mandelbrot    
 Gradient Spaces   
 Publications  
 About Me  
 Feedback  
 New Lparser   
Lparser Gallery
Last updated:
13 March 2007
 Awards  
 Contact Me   
______________ 
______________ 
______________ 
________________________________________________________