Lindenmayer systems are also popular in the generation of artificial life.
An L-system provides mathematical formalisms to describe the growth of simple and even complex plants. Lindenmayer Systems are very often self-similar and thereby fractals.
An L-system is a rule-like description of a 2D or 3D form. It contains descriptions of parts and how they should be assembled together. The description is applied to itself a number of times (e.g., recursion levels) so fractal and recursive forms are very easy to describe in an L-system. This is why they are used a lot for plants and naturally-looking organic forms. By increasing the recursion level, the form slowly 'grows' and becomes more complex. L-systems are now commonly known as parametric L systems, defined as a set G = {V, S, ω, P}. Such simple parametric L-systems contain four elements:
|
Example 1: Original Lindenmayer L-system for his algae:
what produces:
Example 2: Fibonacci numbers. If we define a simple grammar, defined by:
this L-system produces the following sequence of strings:
and if we count the length of each string, we obtain the famous Fibonacci sequence of numbers:
This example yields the same result (in terms of the length of each string, not the sequence of A's and B's) if the rule (B → AB) is replaced with (B → BA).
Example 3: Cantor dust:
Let A mean "draw forward" and B mean "move forward".
This produces the famous Cantor's fractal set on a real straight line R.
Example 4: A variant of the Koch snowflake which uses only right-angles:
Here, F means "draw forward", + is "turn left 90°", and - is "turn right 90°".
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+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-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- 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-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+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F
...
A Lindenmayer system consists of a start symbol, a set of production rules and some definitions of the meaning of the symbols. Using L-systems for generating graphical images requires that the symbols in the model refer to elements of a drawing on the computer screen. For example, the program FractInt (see external links below) uses turtle graphics (similar to those in the Logo programming language) to produce screen images. It interprets each constant in an L-system model as a turtle command.
An L-systems is context-free if each production rule (like in the above examples) refers only to an individual symbol and not to its neighbours. If a rule depends not only on a single symbol but also on its neighbours, it is termed a context-sensitive L-system.
If there is exactly one production for each symbol, then the L-system is said to be deterministic. If there are several, and each is chosen with a certain probability during each iteration, then it is a stochastic L-system.
A deterministic context-free L-system is popularly called a D0L-system.
There are many open problems involving studies of L-systems. For example:
L-systems on a real straight line R:
Another well known L-system on a plane R2 are:
The following images were generated by an L-system. They are related and very similar to Penrose tilings.
As an L-system these tilings are called Penrose's rhombuses and Penrose's tiles. The above pictures were generated for n=6 as an L-system. If we properly superimpose Penrose tiles as an L-system we get next tiling:
otherwise we get patterns which do not cover an infinite surface completely:
Search Encyclopedia
|
Featured Article
|