ГоловнаСтаттіГенеративне мистецтво

Черепахове малювання та L-системи: Від переписування рядків до фрактальних дерев

Маленький рядок переписування, що застосовується знову і знову, перетворюється на папороть, криву дракона або сніжинку Коха, коли черепаха її малює.

mysimulator teamОновлено — червень 2026≈ 7 хв читання▶ Відкрити симуляцію

Переписування рядка в тисячі символів

Ліндемейєрова система (L-system), представлена ​​біологом Аристодом Ліндемейєром у 1968 році для моделювання росту водоростей, починається з одного символу — аксиоми — і повторно замінює кожен символ рядка на більш довгий за фіксованими правилами виробництва. Приклад Ліндемейєра використовує аксиomu A з правилами A→AB, B→A; після чотирьох поколінь A перетвориться на ABAABABA, і довжина рядка точно відповідає послідовності Фібоначчі. Переписування є безконтекстним — заміна символу ніколи не залежить від його сусідів — але сукупний результат все ще захоплює самоподібне розгалуження справжніх папоротей і дерев, оскільки біологічний ріст сам по собі є повторним локальним правилом, застосованим до кожного ростучого кінчика.

Звукові хвилі: хвилі, вібрації та резонанс

Звук — це механічна хвиля, яка поширюється у вигляді коливань середовища. Ці коливання передаються через повітря, воду чи тверді тіла. Звукові хвилі характеризуються амплітудою (максимальним розбльовом) та частотою (кількість коливань на секунду).

Основні характеристики звуку: висота тону (залежить від частоти), гучність (залежить від амплітуди) та тембр (залежить від складового складу звуку).

Резонанс — це явище, при якому система з певним періодом налаштовується на резонансну частоту зовнішнього стимулу. Це призводить до значного збільшення амплітуди коливань.

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°

Змінні кореневистий та стохастична варіація

L-системи є загальним призначенням генератором фракталів, тісно пов'язаним з ітеративними системами функцій — у них є такі ж чисті визначення як для сніжинки Коха, так і для змійки Дракона, поряд із більш органічними формами, такими як папороть Бернлі (аксиома X, правила X→F+[[X]-X]-F[-FX]+X, F→FF, δ=25°). Реальні рослини не є повністю самоподібними, тому стохастична L-система надає символу дві або більше альтернативні правила заміщення та випадково вибирає між ними з урахуванням ймовірності кожного разу, коли воно спрацьовує — порушуючи механічну регулярність і створюючи набагато більш переконливу варіацію природного характеру між гілками.

Frequently asked questions

Що таке Л-система?

Ліндемеєрська система (введена в 1968 році біологом Арістидом Ліндемейером для моделювання росту водоростей) починається з одного символу, аксіоми, і повторно переписує кожен символ у рядку за допомогою фіксованого набору правил генерації. Після кількох поколінь один символ розвивається в тисячі символів, які черепаховий інтерпретатор може потім намалювати як рослину, сніжинку або криву.

Як черепаха перетворює рядок на зображення?

Черепаха несе позицію та кут повороту. Читаючи рядок зліва направо, F або G рухаються вперед, малюючи лінію, + і - обертають кут повороту на фіксований кут δ, а [ / ] відсувають і відновлюють стан черепахи на стеку, щоб гілка могла відокремлюватися, а основна жилка могла точно продовжитися там, де вона закінчилася.

Чому справжні рослини виглядають такими нерегулярними, якщо Л-системи настільки регулярні?

Стокasticaльна Л-система надає символу дві або більше альтернативних правил заміщення та випадково обирає між ними з урахуванням ймовірності кожного разу, коли воно застосовується. Це порушує механічну регулярність чистої Л-системи і створює набагато більш переконливу варіацію між гілками, ближчу до того, як справді виглядають папороті та дерева.

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте the simulation і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію the simulation

Що ви знайшли?

Додати кроки відтворення (опційно)