Herschrijven (L-systemen)
De tekst wordt meermaals herschreven, daarna wordt elke letter een streep of een bocht.
De regel
Een L-systeem begint met een reeks letters, het axioma, en een regel die zegt waarmee elke letter vervangen wordt. De regel wordt op alle letters tegelijk toegepast, en daarna opnieuw op het resultaat. Elke ronde is een generatie.
F → F-F++F-F
Daarna leest een schildpad de reeks. F betekent: ga vooruit en trek een lijn. + draait naar links over een vaste hoek, - draait naar rechts over dezelfde hoek. De vierkante haken [ en ] leggen de positie opzij en halen haar weer terug: zo ontstaan takken. De andere letters, zoals X, tekenen niets, ze dienen alleen om te herschrijven.
Hier is het axioma F++F++F, een driehoek, en de hoek is 60°. Bij elke generatie wordt elke lijn vervangen door vier kleinere lijnen. De tekst groeit heel snel, maar de tekening behoudt hetzelfde uiterlijk.
Aan u
Kies een regel en verhoog dan de generaties een voor een. De reeks verschijnt naast de tekening: wordt ze te lang, dan wordt alleen het begin getoond, met de echte lengte er vlak onder. De schildpad loopt erlangs, en de tekening wordt bij elke generatie opnieuw ingekaderd zodat ze in het kader past.
De draak en de plant hebben hun eigen grens aan generaties, zodat de pagina vlot blijft.
Herschreven tekenreeks
F++F++F
7 tekens
F → F-F++F-F
De tekening hierboven is een didactisch schema, niet het kunstwerk: ze toont de regel, maar geeft de kleuren, de grootte van de punten en de korrel van de afdruk niet weer.
Wat verandert van het ene algoritme naar het andere
Bijna alles zit in de gegevens: het axioma, de regel en de hoek. De machine die de reeks leest is voor bijna allemaal dezelfde.
- Drakenkromme
- De draak van Heighway: een papierstrook die steeds opnieuw in tweeën wordt gevouwen en daarna in rechte hoeken weer open wordt gevouwen. Het werk schrijft geen herschrijfregel: het bouwt de reeks bochten, links of rechts, rechtstreeks op door papier te vouwen. Het schema hierboven gebruikt een regel, die makkelijker te tonen is.
- Terdraak
- De ternaire draak, in één streek getekend. De regel is F → F+F-F, met bochten van 120°.
- Lévy-C-kromme
- De C-kromme van Lévy. Elke lijn wordt vervangen door twee lijnen in een rechte hoek: F → +F--F+, met bochten van 45°.
- Koch-sneeuwvlok
- De sneeuwvlok van Koch: een driehoek (F++F++F) waarvan elke zijde zich opricht volgens F → F-F++F-F, met bochten van 60°. De kromme is gesloten.
- Kwadratische Koch-kromme
- De variant met rechte hoeken: F → F+F-F-F+F, met bochten van 90°. Elke lijn wordt een tinne. Anders dan de sneeuwvlok is de kromme open.
- Sierpiński-pijlpunt
- De pijlpunt van Sierpiński: één streek die uiteindelijk de driehoek van Sierpiński tekent. Twee letters, F en G, tekenen allebei: F → G-F-G en G → F+G+F, met bochten van 60°.
- Sierpiński (L-systeem)
- De driehoek van Sierpiński, op een andere manier verkregen: het axioma is F-G-G, de regels zijn F → F-G+F+G-F en G → GG, met bochten van 120°.
- Gosper-sneeuwvlok
- De vlok van Gosper, of flowsnake: een zeshoekige kromme die de ruimte vult. Twee letters tekenen, F → F-G--G+F++FF+G- en G → +F-GG--G-F++F+G, met bochten van 60°.
- Hilbert-kromme
- De kromme van Hilbert, die het vierkant vult. De letters X en Y tekenen niet, ze dienen alleen om te herschrijven: X → +YF-XFX-FY+ en Y → -XF+YFY+FX-, met bochten van 90°.
- Peano-kromme
- De kromme van Peano, nog een kromme die het vierkant vult. De reeks wordt bij elke generatie met negen vermenigvuldigd, tegen vier bij Hilbert: je kan dus niet zo hoog gaan. Bochten van 90°, regels geschreven met X en Y.
- Moore-kromme
- De kromme van Moore, de gesloten versie van Hilbert: het axioma LFL+F+LFL zet vier stukken Hilbert in een lus aan elkaar. De letters L en R tekenen niet, bochten van 90°.
- Fractale plant
- De plant van Lindenmayer, de enige van de familie met takken: de vierkante haken [ en ] leggen de positie opzij. X → F+[[X]-X]-F[-FX]+X en F → FF, met bochten van 25°. Het is ook de enige waarvan de hoek bij elke bocht een beetje willekeurig getrokken kan worden.
Wat het toeval beslist
Voor elk werk trekt het programma deze instellingen willekeurig, binnen vooraf vastgelegde grenzen.
- Aantal herschrijvingen Drakenkromme van 11 tot 16
- Draaihoek (°) Drakenkromme van 88 tot 92
- Hoek (°) Koch-sneeuwvlok van 58 tot 62
De algoritmes in deze familie
- Drakenkromme
- Terdraak
- Lévy-C-kromme
- Koch-sneeuwvlok
- Kwadratische Koch-kromme
- Sierpiński-pijlpunt
- Sierpiński (L-systeem)
- Gosper-sneeuwvlok
- Hilbert-kromme
- Peano-kromme
- Moore-kromme
- Fractale plant