🌐 NL

🌿 L-systeem fractaalgenerator

Genereer fractalen met Lindenmayer-systemen (L-systemen). Kies een preset zoals de Koch-sneeuwvlok of drakenkromme, of schrijf je eigen herschrijfregels en kijk hoe de turtle ze tekent.

Één regel per regel, bijvoorbeeld F=F+F--F+F. Symbolen: F en G tekenen vooruit, + / - draaien, [ en ] slaan positie op/herstellen die.

4
GIDS

Meer lezen

01

Wat is een L-systeem?

Een L-systeem (Lindenmayer-systeem) is een formele grammatica die in 1968 is bedacht door bioloog Aristid Lindenmayer om de groei van planten en algen te modelleren. Je begint met een korte axioma-reeks en vervangt vervolgens steeds elk symbool met een set herschrijfregels, zodat de reeks na elke stap gedetailleerder wordt. De uiteindelijke reeks wordt daarna gelezen als een reeks turtle-graphicsopdrachten — bewegen, draaien, vertakken — die de fractal op het scherm tekenen.
02

Het turtle-alfabet

Elk symbool is een tekenopdracht voor een denkbeeldige turtle. F en G bewegen vooruit en tekenen een lijn; + draait linksom met de ingestelde hoek en - rechtsom; [ zet de huidige positie en richting op een stapel (een vertakking beginnen) en ] haalt die weer terug (terugkeren naar waar de vertakking begon). Met die twee haakcommando's kan één regel stengels en bladeren laten ontstaan, waardoor levensechte, boomachtige vormen uit slechts een paar tekens ontstaan.
03

Eigen regels schrijven

Om je eigen fractal te maken, stel je een axioma in en één regel per regel. De klassieke Koch-curve gebruikt axioma F, regel F=F+F--F+F, en een hoek van 60° - bij elke stap wordt elke F vervangen door vier kleinere F's. Omdat elke herschrijving de lengte van de reeks kan vermenigvuldigen, groeit alles exponentieel. Daarom beperkt de generator het aantal iteraties tot 7 en gebruikt hij een lengtegrens die runaway-patronen stopt voordat je browser vastloopt.

Veelgestelde vragen

Welke symbolen kan ik in regels gebruiken?
F en G tekenen een lijn vooruit; + en - draaien de turtle respectievelijk links en rechts met de hoek die je instelt; [ en ] starten en eindigen een vertakking. Elke andere letter is een placeholder die niets tekent - die wordt alleen door de regels herschreven, en zo bouwt complexe structuur zich op bij elke stap.
Waarom is er een iteratielimiet?
Bij elke stap kan de lengte van de reeks worden vermenigvuldigd, dus het aantal tekenopdrachten groeit exponentieel. Om de browser responsief te houden, beperkt de generator het aantal iteraties tot 7 en voegt hij een lengtegrens toe die een patroon stopt voordat het te groot wordt om soepel te renderen.
Wat is een bekend L-systeem?
De Koch-sneeuwvlok, de drakenkromme en de Sierpinski-pijlpunt zijn klassieke voorbeelden, net als de vertakkende plantmodellen die Aristid Lindenmayer oorspronkelijk met L-systemen wilde beschrijven.