Ponowne przepisywanie napisu na tysiące znaków
System Lindenmayera (L-system), wprowadzony w 1968 roku przez biologa Aristida Lindenmayera do modelowania wzrostu alge, zaczyna się od jednego symbolu — aksjomatu — i powtarzająco zastępuje każdy symbol w napisie dłuższym według ustalonych reguł produkcyjnych. W przykładzie własnym Lindenmayera użyto aksjomatu A z regułami A→AB, B→A; po czterech pokoleniach A rozwija się do ABAABABA, a długość napisu ścisłym wykazem przypada na ciąg Fibonacciego. Ponowne przepisywanie jest bezkontekstowe — zastępowanie symbolu nigdy nie zależy od sąsiednich symboli — jednak całościowy rezultat nadal zapisuje samoszybkośc rozgałęzienia rzeczywistych jasen i drzew, ponieważ wzrost biologiczny jest samolokalną regułą powtarzaną na każdym wierzchołku rosnącym.
Grafika żółwia: od napisu do pikseli
Napis z liter nie jest obrazem, dopóki nie jest interpretowany przez żółwia — kursora z języka Logo z 1967 roku opracowanego przez Seymoura Paperta, który przeprowadza się w określonym położeniu i ma ustalony kąt kierunku. F/G porusza się naprzód rysując linię; f porusza się bez rysowania; + i - obracają go w lewo lub prawo o ustalony kąt δ; [ zapisuje bieżące położenie i kierunek na stosie, a ] je odzyskuje — mechanizm pozwalający na podział gałęzi na dwie i ponowne kontynuowanie dokładnie tam, gdzie zostawiła to główna gałąź. Jedyne dwa liczby — długość kroku i kąt obrócenia δ — kontrolują całą rodzinę wizualną; zmiana δ z 20° na 25° może przekształcić porządną geometryczną wzór na wilgotny organiczny.
Koch curve: axiom F, rule F → F+F--F+F, δ = 60° Dragon curve: axiom FX, rules X→X+YF+, Y→-FX-Y, δ = 90° Sierpiński arrow: axiom A, rules A→B-A-B, B→A+B+A, δ = 60° Branching plant: axiom F, rule F → F[+F]F[-F]F, δ = 25°
Cziomykowate drzewa fraktalne i losowe wariacje
Sistemy L są ogólnowym generatorem drzew fraktalnych blisko związane z systemami funkcji iterowanych — śnieżnica Kocha i krzywa drzewa mają równie jasne definicje w postaci sistemów L, podobnie jak bardziej organiczne kształty, takie jak liść pstrąga (axiom X, zasady X→F+[[X]-X]-F[-FX]+X, F→FF, δ=25°). Na prawdziwe drzewa nie ma być doskonałym self-similarne, dlatego system L-stosunkowy daje symbolowi dwie lub więcej alternatywnych zasad zamiany i losowo wybiera między nimi — co przerabia mechaniczną regularność i tworzy znacznie bardziej przekonującą, podobną do natury wariację między gałęziami.
Często zadawane pytania
Czym jest system L (L-system)?
System Lindenmayera (wprowadzony w 1968 roku przez biologa Aristida Lindenmayera do modelowania wzrostu alge) zaczyna się od jednego symbolu, axoma, i powtarza proces przepisywania każdego symbolu w ciągu za pomocą ustalonej zestawu zasad produkcyjnych. Po kilku pokoleniach pojedynczy symbol rozwija się do tysięcy symboli, które interpreter żółwia może narysować jako roślinę, śnieżeczkę lub krzywą.
Jak interpretator żółwia konwertuje ciąg na obraz?
Interpretator żółwia nosi pozycję i kierunek. Czytając ciąg od lewej do prawej, F lub G porusza się w przód rysując linię, + i - obracają kierunek o ustalony kąt δ, a [ / ] dodają i usuwają stan żółwia na stosie, umożliwiając oddzielne gałęzie i powrót do exact samego miejsca, z którego zaczęto.
Dlaczego rzeczywiste rośliny wyglądają tak nieporządane, jeśli systemy L są tak regularne?
Stochastyczny system L daje symbolowi dwie lub więcej alternatywnych zasad przepisywania i losowo wybiera między nimi, ważone o prawdopodobieństwo, przy każdym zastosowaniu. To łamię regularność mechaniczną czystego systemu L i tworzy znacznie bardziej przekonujący, podobne do natury zmienni, różnice między gałęziami, bliższe rzeczywistemu wyglądowi kwaśnicy i drzew.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Turtle Graphics & L-Systems — Interactive Fractal Art Simulator i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację Turtle Graphics & L-Systems — Interactive Fractal Art Simulator