🎲 Гра в хаос
Хаотична гра: точки з простими правилами утворюють фрактали — трикутник Серпінського та інші. Вік: 8+
Схожі симуляції
Про «Хаотичну гру» та IFS-фрактали
«Хаотична гра» — це напрочуд простий алгоритм для генерації самоподібних фракталів: почни з випадкової точки, повторно стрибай на фіксовану частку відстані до випадково обраної вершини або перетворення й познач кожну проміжну точку. Попри свою випадковість, алгоритм збігається до детермінованого атрактора — фрактала ітерованої функціональної системи (IFS), — оскільки стискальні афінні перетворення стискають фазовий простір швидше, ніж випадкові стрибки встигають його досліджувати. Трикутник Серпінського виникає лише із трьох вершин при коефіцієнті стрибка 1/2, тоді як папороть Барнслі використовує чотири афінні перетворення, що імітують самоподібне розгалуження справжньої гілки папороті.
Ця симуляція дозволяє обирати серед кількох класичних IFS-атракторів — трикутника Серпінського, папороті Барнслі, кривої дракона та інших, — регулювати ймовірнісні ваги для кожного перетворення й спостерігати, як мільйони точок поступово розкривають фрактальну структуру. Ти також можеш задавати власні афінні перетворення, щоб побудувати власний атрактор.
Часті запитання
Що таке ітерована функціональна система (IFS)?
IFS — це скінченна множина стискальних афінних відображень {f₁, f₂, ..., fₙ}, кожне з яких має вигляд f(x) = Ax + b, де A — матриця 2×2, а b — вектор переносу. За теоремою Банаха про стискальні відображення, IFS має єдиний атрактор — компактну множину A таку, що A = ∪fᵢ(A). Повторне випадкове застосування відображень збігається до цього атрактора незалежно від початкової точки, тому «Хаотична гра» завжди дає той самий фрактал.
Чому в «Хаотичній грі» з'являється трикутник Серпінського?
Кожне з трьох перетворень IFS Серпінського масштабує площину коефіцієнтом 1/2 у напрямку однієї з трьох вершин. Атрактором цих трьох стискань є саме трикутник Серпінського — фрактал із гаусдорфовою розмірністю log(3)/log(2) ≈ 1,585. «Хаотична гра» досягає цього атрактора, бо після достатньої кількості ітерацій початкова точка стає неважливою, і всі відвідані точки лежать на атракторі.
Що таке афінні перетворення?
Афінне перетворення відображає точку (x, y) на (ax + by + e, cx + dy + f), поєднуючи лінійні операції (масштабування, обертання, зсув) з переносом. Кожне перетворення IFS має шість вільних параметрів. У папороті Барнслі одне перетворення (застосовується у 85% випадків) відповідає за подовження головного стебла, тоді як три інших відповідають за лівий листочок, правий листочок і основу стебла — разом вони дають напрочуд реалістичну форму папороті.
Що таке гаусдорфова розмірність фрактала?
Гаусдорфова розмірність узагальнює поняття розмірності на нецілі значення. Для самоподібних фракталів вона дорівнює log(N)/log(1/r), де N — кількість самоподібних частин, а r — коефіцієнт масштабування. Трикутник Серпінського (N=3, r=1/2) має гаусдорфову розмірність ≈1,585; множина Кантора (N=2, r=1/3) має розмірність ≈0,631; крива Коха (N=4, r=1/3) має розмірність ≈1,261. Фрактали з розмірністю між 1 і 2 можна уявити як «більше за лінію, але менше за площину».
Який зв'язок між IFS-фракталами та стисненням даних?
Фрактальне стиснення зображень (розроблене Майклом Барнслі та Аланом Слоуном у 1990-х) зберігає зображення як параметри IFS, а не як піксельні дані. Оскільки IFS може описувати детальні самоподібні структури дуже малою кількістю чисел, досягалися коефіцієнти стиснення від 10:1 до 50:1. Однак крок кодування (пошук правильної IFS для довільного зображення) є обчислювально дорогим, і на практиці стиснення JPEG/WebP зазвичай переважає фрактальні методи.
Чи може «Хаотична гра» генерувати 3D-фрактали?
Так — концепція IFS природно поширюється на будь-яку кількість вимірів. До 3D-версій належать губка Менгера (27 стискань, що вилучають центральний куб, розмірність ≈2,727) та 3D-тетраедр Серпінського (4 стискання, розмірність = log(4)/log(2) = 2). «Хаотична гра» в 3D працює так само: обери випадкове перетворення з IFS, стрибни на частку відстані до результату й познач точку.
Що таке крива дракона?
Крива дракона — це IFS-фрактал, отриманий шляхом повторного складання смужки паперу навпіл в одному напрямку та розгортання її під кутом 90°. Її IFS складається з двох перетворень, кожне з яких обертає на 45° і масштабує коефіцієнтом 1/√2. Крива дракона має гаусдорфову розмірність 2 — вона заповнює обмежену область площини, — проте її межа має розмірність log(4)/log(1+√2) ≈ 1,524.
Чому фрактали трапляються в природі?
Природні фракталоподібні структури виникають унаслідок процесів росту із самоподібними правилами: гілка папороті вирощує підгілки, які вирощують під-підгілки за тим самим гормональним механізмом сигналізації; дерево розгалужується за тим самим правилом на кожному масштабі; берегова лінія розмивається на кожному масштабі довжини тими самими фізичними процесами. IFS математично формалізує ці рекурсивні правила. Однак природні фрактали є самоподібними лише в обмеженому діапазоні масштабів (зазвичай 2–4 порядки величини), на відміну від математичних фракталів, які самоподібні на всіх масштабах.
Що таке ймовірнісні ваги в «Хаотичній грі»?
Кожному перетворенню IFS fᵢ призначається ймовірність pᵢ, причому Σpᵢ = 1. Вибір нерівних ймовірностей визначає, які частини атрактора відвідуються найчастіше. Для папороті Барнслі перетворення стебла використовує p = 0,85, а основи — p = 0,01, що відповідає відносній «площі», яку кожне перетворення додає до атрактора. Зміна ймовірностей не змінює форму атрактора, лише щільність точок на кожній його частині.
Яка різниця між фракталом і самоподібною фігурою?
Усі фрактали певною мірою самоподібні, але не всі самоподібні фігури є фракталами. Квадрат можна розділити на чотири менші квадрати (самоподібність із коефіцієнтом 1/2), але його розмірність дорівнює точно 2 — так само, як і очікується для 2D-фігури. Фрактал має нецілу гаусдорфову розмірність, яка відрізняється від його топологічної розмірності. Трикутник Серпінського топологічно є одновимірним (не має внутрішньої області), проте його гаусдорфова розмірність становить ≈1,585.