Lindenmayer systems (L-systems)

    Lindenmayer systems, or in short L-systems, are based on formal language theory. By an L-system can be understood the grammar rules for object generation.

    The arranged ternary G=[T, N, S] is called a deterministic context-free L-system,
where:

       T  = {a, b, c,. } is the terminal symbol set
       N = {A, B, C,.} is the non-terminal symbol set 
       S is a definite set of rules in the form : X -> Y



Example: Define the Koch flake using L-system:

 Take the L-system as the terminal symbol set  :

F tortoise's movement forward
+ tortoise's rotation right
- tortoise's rotation left
( storing the status into the buffer
) taking out the status from the buffer

The non-terminal symbol N = {A}

Rules :  1. A => A + A - - A + A
                  2. A => f

Start: The starting symbol is: A A A and rotation: 60 degrees. Using these rules, we can obtain the following chains:
 
 f--f--f,
 f+f--f+f--f+f--f+f--f+f--f+f,
 ...
 

alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is completely ignoring the <APPLET> tag!
Applet: Part of Koch flake



Other examples:

alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is completely ignoring the <APPLET> tag!
1. F-F++F+-F rotation angle = 65 

alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is completely ignoring the <APPLET> tag!
2. F+-F++F-F rotation angle = 45

alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is completely ignoring the <APPLET> tag!
3. F-F+-F-F rotation angle = 35

alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is completely ignoring the <APPLET> tag!
4. F-F+F--F rotation angle = 45