🌐 DA

🌿 L-system fraktalgenerator

Generer fraktaler ud fra Lindenmayer-systemer (L-systemer). Vælg en forudindstilling som Koch-snefnugget eller dragekurven, eller skriv dine egne omskrivningsregler, og se skildpadden tegne dem.

Én regel pr. linje, f.eks. F=F+F--F+F. Symboler: F og G tegner fremad, + / - drejer, [ og ] gemmer/genskaber position.

4
GUIDE

Laes mere

01

Hvad er et L-system?

Et L-system (Lindenmayer-system) er en formel grammatik opfundet af biologen Aristid Lindenmayer i 1968 for at modellere væksten hos planter og alger. Du starter med en kort aksiom-streng og erstatter derefter gentagne gange hvert symbol ved hjælp af et sæt omskrivningsregler, så strengen bliver mere detaljeret for hver gennemløb. Den endelige streng læses derefter som en sekvens af skildpaddetegningskommandoer — flyt, drej, forgrene — der tegner fraktalen på skærmen.
02

Skildpaddens alfabet

Hvert symbol er en tegningsinstruks til en imaginær skildpadde. F og G bevæger sig fremad, mens de tegner en linje; + drejer til venstre med den valgte vinkel, og - drejer til højre; [ skubber den aktuelle position og retning ned på en stak (og starter en forgrening), og ] popper dem tilbage igen (og vender tilbage til der, hvor forgreningen begyndte). De to klamme-kommandoer er det, der gør det muligt for en enkelt regel at skyde stængler og blade ud og skabe naturtro, træagtige former ud fra blot nogle få tegn.
03

Skriv egne regler

For at bygge din egen fraktal skal du angive et aksiom og én regel pr. linje. Den klassiske Koch-kurve bruger aksiomet F, reglen F=F+F--F+F og en vinkel på 60° — hvert gennemløb erstatter hver F med fire mindre. Da hver omskrivning kan fordoble eller tredoble strengens længde, vokser det eksponentielt, så generatoren begrænser iterationer til 7 og bruger en længdegrænse, der stopper løbsk voksende mønstre, før de fryser din browser.

Ofte stillede sporgsmal

Hvilke symboler kan jeg bruge i regler?
F og G tegner en linje fremad; + og - drejer skildpadden til venstre og højre med den vinkel, du har valgt; [ og ] starter og afslutter en forgrening. Ethvert andet bogstav er en pladsmarkør, der ikke tegner noget - det bliver kun omskrevet af reglerne, og det er sådan, kompleks struktur opbygges for hvert gennemløb.
Hvorfor er der en grænse for iterationer?
Hvert gennemløb kan gange strengens længde op, så antallet af tegningskommandoer vokser eksponentielt. For at holde browseren responsiv begrænser generatoren iterationer til 7 og tilføjer en længdegrænse, der stopper et mønster, før det bliver for stort til at blive gengivet flydende.
Hvad er et berømt L-system?
Koch-snefnugget, dragekurven og Sierpinski-pilspidsen er klassiske eksempler, sammen med de forgrenede plantemodeller, som Aristid Lindenmayer oprindeligt designede L-systemer til at beskrive.