Lparser/Form Mutations

Mutant Viewer | Math Zoo | Mutant Video

Lparser/Mutant Video Explanation

Lparser is a very old friend of mine. I first started using it in 1994. That was just before the internet went public domain and I went appropriately "insane".

Prior to my deep involvement with the internet, I was enjoying the world of 3D graphics and fractals. I was delighted to learn early on fractals were themselves representative of space in three dimensions. An early application of fractals then (as now) was landscapes (and clouds).

3D Studio was the core program complimented by its razor-edged pal POVRAY; both are able to assimilate fractal data.

Another fascinating area of associated research is the application of fractal algorithms to creating natural/organic objects such as plants and...animals. One of the most widely known systems for creating fractal plants is called the Lindenmeyer system, aka Lsystem.

It wasn't far down this road that I discovered a very rare tool: Lparser by Laurens Lapre.

Lparser is a Lindenmayer parser and uses a "turtle" dialect for constructing the source models which are "parsed" to create 2 and 3D geometries. Lparser can also create random mutations to varying degrees by manipulating random parts of the turtle script. This function gives one the ability to create an endless number of mutations as well as animations of developmental or "evolutionary" forms.

For me the "Zoo" is mostly Art for Arts Sake. First time I rendered an Lparser-derived object I was astonished. Through very simple recursion of a simple rule like "go 1/2 length and turn 5 degrees; then do it again 10 times", organic forms would result... ...forms which didn't take great imagination to see as an organic living thing.

You'll notice around Tao Lodge, evidence of Lparser. The splash page animation resolves to a quartet of these creatures reflecting figuratively and actually on a highly reflective sphere of black mirror.

Russ McClay December 5, 1999 Taipei Taiwan

Some Notes on Lindenmayer systems from the Net:

Introduction & Overview

L-Systems were introduced by botanist Aristid Lindenmayer in 1968 as method for algorithmic description of growth and development of living organisms. The first models were for filamentous cyanobacteria, and then flowering plants and trees.

L-systems provide a model for encoding developmental instructions via parallel rewriting. Mathematically, an elementary L-system is given by an element and an endomorphism of a free finitely-generated monoid. (But you don't have to know what that is to use and enjoy them!)

Formal strings are generated by applying rewriting rules (in parallel) to an initial string several times. [The initial string is the element of the free monoid and the rewriting rules determine the endomorphism]. Since rewriting is applied iteratively, L-systems are convenient for describing fractal structures.

The formal string by itself is meaningless, but it can be interpreted as the current state of growth of an organism. In fact, the formal string after n steps can be used as instructions for creating a synthetic representation of the organism after n time steps. There are several ways to do this, the most popular of which is to use the string as a program for Turtle Geometry (attributed to S. Papert).

Note on the Lparser Animations:

The animations, aka mutant videos, are created using 4DOS, Lparser, POVRay, VirtualDub and Quicktime.

The process:

  1. Open a 4DOS shell
  2. Run a 4DOS batch file which executes an Lparser script and calls POVRay to parse the result.
  3. The single frame output files are opened in VirtualDub.
  4. The resulting AVI is then converted to MOV in Quicktime.

Revised May 24, 2005