Переписування рядка в тисячі символів
Ліндемейєрова система (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