Lindenmayersystem, förkortas L-system, är ett rekursivt system, skapat av den ungerske biologen Aristid Lindenmayer, som främst var avsett för att återge växters struktur. Växter är en typ av naturliga fraktaler, och med tiden har det visat sig att Lindenmayersystem även går utmärkt att använda för att skapa många andra typer av fraktala kurvor och strukturer.

Artificiella blommor, skapade med ett L-system.
Träd, skapade med ett L-system

Metoder redigera

Ersättningsmetoden redigera

Metoden går ut på att ersätta ett eller flera objekt med ett annat objekt som består av två eller flera, men mindre komponenter som är geometriskt identiska med det ursprungliga objektet och som tillsammans har samma utbredning som ursprungsobjektet. "Objektet" är i de flesta fall en linje och "ersättningsobjektet" en vinklad linje vars ändpunkter har samma avstånd mellan sig som den ursprungliga linjen. Utgångsläget är ett eller flera ursprungsobjekt. Oftast, men inte alltid brukas ersättningsobjektet även som startläge. Här ett exempel där von Kochs kurva är målet:

 
Konstruktion av "von Kochs kurva" vid bruk av ett L-system. Den första bilden är L-systemets axiom, den andra konstruktorn. Den tredje och fjärde bilden motsvarar anda och tredje iterationen av systemet. Den första iterationen skapar en kopia av konstruktorn och motsvarar alltså den andra delbilden.

Den första delbilden visar ursprungsobjektet, en linje. Den andra visar ersättningsobjektet som här består av fyra linjer i några olika vinklar; de röda pilarna visar vilken vinkel linjerna i ersättningsobjektet har i förhållande till ursprungslinjen. En rak linje kan alltid roteras 180º utan att den ser annorlunda ut men så är inte alltid fallet med en vinklad linje. I det här fallet skulle "spetsarna" på linjen lika gärna kommit att peka nedåt om inte linjens vinkel angetts på något sätt. (Det kan även varieras med spegelvändningar.) Sedan visar de följande bilderna vad som sker i de tre första iterationerna av systemet (den första ger i det här fallet en kopia av ersättningsobjektet). En iteration av systemet ersätter samtliga objekt i målobjektet med ersättningsobjektet. I nästa steg ersätts ersättningsobjektets delobjekt och så vidare. Om man i utgångsläget valt att använda tre ursprungliga linjer uppsatta i en liksidig triangel men ändå brukat samma ersättningsobjekt som i exemplet så skulle systemet skapat von Kochs snöflinga i stället för hans kurva.