© h.hofstede (h.hofstede@hogeland.nl)

Lindenmayer- systemen
       
Een Lindenmayer-systeem is eigenlijk een taal!

Zo'n systeem bestaat uit een aantal basissymbolen plus daarbij een aantal regels om die symbolen in nieuwe geldige symbolen te veranderen. Dat gaat stap voor stap waarbij het antwoord van een stap de invoer voor de volgende is  (recursie dus!)Daarbij moet je bij elke stap zoveel mogelijk regels toepassen.
En dat kan zowaar fractals opleveren!

Voorbeeldje.
Neem bijvoorbeeld de twee basissymbolen A en B,  en de twee regels:   (A → AB)  en  (B → A)
Begin met A.
Dan is de volgende stap  AB  (regel 1)
Dan is de volgend stap  ABA  (regel 1 en regel 2)
Dan is de volgende stap  ABAAB  (regel 1, 2, 1)
Dan is de volgende stap  ABAABABA  (regel 1, 2, 1, 1, 2)
enz.
     

Wat er hier gebeurt is duidelijker in een boom weer te geven. Zie hiernaast.
Ik hoop dat je ziet dat we hier met een Fibonacci-rij te maken hebben.

(B zijn de nieuwe konijnen, A zijn de oudere konijnen)
       
Fractals maken.
       
1.  Cantor-stof.  
       
De basissymbolen zijn A en B, de regels zijn  (A → ABA)  en  (B → BBB)
Dat geeft:
A
ABA
ABABBBABA
ABABBBBBBBBBABA
enz.
Als je A als zwart lijnstuk tekent, en B als doorzichtig lijnstuk, en als je elke stap de lengtes van de lijnstukken 1/3 van de vorige lengtes maakt, dan krijg je een plaatje als hieronder:  dat zwarte is "Cantor-stof".
       
       
2.  Sierpinski-driehoek.
       
De basissymbolen zijn A, B, + en -  en de regels zijn  (A → B - A - B)  en  (B → A + B + A)
Begin met A, dan krijg je deze serie:

A
B - A - B
A + B + A - B - A - B - A + B + A
B - A - B + A + B + A + B - A - B - A + B + A - B - A - B - A + B + A - B - A - B + A + B + A + B - A - B
enz.

Als je nou A en B opvat als "teken een lijnstuk" en  +  als "draai 60°  met de klok mee" en  - als  "draai 60°  tegen de klok in",
Dan zie je hieronder waar een lijnstuk A in verandert  (de nieuwe lijnstukken zijn de helft van de lengte getekend):
       

       
Voor B geldt net zoiets, maar dan net andersom getekend.
Doe dat een aantal keer achter elkaar, dan krijg je zo'n serie:
       

Ga nog een poosje door en je ziet langzaamaan dit verschijnen:  (je kunt deze kromme zelf maken op de website waarnaar onderaan deze pagina de link staat).
       
Deze kromme, die de Sierpinski-driehoek produceert, heet daarom ook wel de Sierpinski-kromme, maar dat zal wel geen erg schokkend bericht voor je zijn.
       
3.  Draakkromme.
       
De draakkromme heeft als symbolen  X, Y, F, + en -
De regels zijn:   (X → Y F + X) en   (Y → - F X - Y)
Begin met FX.

Als je dan  F opvat als "teken een lijnstuk" en  +  als "draai 90° met de klok mee"" en  -  als  "draai 90° tegen de klok in" dan verschijnt de draakkromme.  (X en Y doen hier niets; die zijn alleen nodig om het systeem in goede banen te leiden).

Doe het vooral zelf!
       
4.  Een coole plant.
       
Gebruik de symbolen:  X F + - [  en  ]
De regels zijn  (X → F + [ [ X ] - X ] - F [ - F X ] + X)  en  (F → FF)
Begin met X

Neem  F als "teken een lijnstuk"" en  + als "draai 25 met de klok mee  en  -  als  "draai 25 tegen de klok in",
[  betekent:   "plaats de huidige waarden van de plaats en de draaihoek in je geheugen"
]  betekent:   "vervang de huidige plaats en draaihoek door die uit je geheugen"
X doet niets.

Dat geeft dit:
       

       
Op de volgende webpagina kun je zelf experimenteren met Lindenmayer systemen. Veel plezier daar!!!
       
       

© h.hofstede (h.hofstede@hogeland.nl)