❄ IFS Фрактали — Ітераційні системи функцій
Досліджуйте ітераційні системи функцій: папороть Барнслі, трикутник Серпінського, крива дракона та власні афінні перетворення. Спостерігайте, як фрактальні атрактори виникають з хаосу.
Про IFS Фрактали
Ця симуляція малює атрактор ітераційної системи функцій (IFS): скінченну множину стискаючих афінних відображень W(x,y) = [a b; c d][x;y] + [e;f]. Вона використовує алгоритм гри в хаос — оберіть початкову точку, а потім багаторазово застосовуйте випадково обране відображення (обране згідно з імовірністю p кожного відображення), позначаючи кожну отриману точку. Щільна хмара точок збігається до самоподібного фракталу незалежно від того, звідки ви почали.
Кнопки пресетів змінюють активний набір відображень: чотиривідображувану папороть Барнслі, тривідображуваний трикутник Серпінського, двовідображувані криву дракона та криву Леві C, бінарне дерево та форму корала. Повзунок «Точок за кадр» задає швидкість ітерації, а повзунок «Швидкість згасання» керує тим, як швидко тьмяніють старі точки. Очистити перезапускає малювання, а Пауза зупиняє його. IFS лежать в основі фрактального стиснення зображень і процедурного моделювання рослин та природних текстур.
Часті питання
Що таке ітераційна система функцій?
IFS — це скінченна колекція стискаючих афінних перетворень площини. Кожне відображення стискає й переміщує простір, а об'єднання всіх відображень, застосованих багаторазово, визначає унікальну фрактальну множину, яку називають атрактором. Папороть Барнслі, трикутник Серпінського та крива дракона — це атрактори різних IFS.
Як працює гра в хаос?
Ви починаєте з довільної точки, а потім на кожному кроці випадково обираєте одне з відображень, зважене його ймовірністю p, і застосовуєте його до поточної точки. Позначення кожної нової точки поступово заповнює атрактор. Перші кілька точок пропускаються як розігрів, щоб не малювати перехідні позиції поза атрактором.
Що роблять елементи керування?
Кнопки пресетів обирають, який набір відображень IFS активний. Точки за кадр (від 500 до 30 000) задають, скільки ітерацій малюється за кадр, керуючи швидкістю малювання. Швидкість згасання (від 0 до 0,05) притлумлює старіші точки, щоб полотно могло оновлюватись. Очистити скидає кількість точок і полотно, а Пауза зупиняє або відновлює ітерацію.
Чому результат не залежить від початкової точки?
Оскільки всі відображення стискаючі, повторне застосування наближає будь-яку початкову точку до атрактора. Це наслідок теореми Банаха про нерухому точку, застосованої до оператора IFS на компактних множинах, тож різні початкові точки збігаються до одного й того самого фракталу.
Яке рівняння афінного відображення використовується?
Кожне відображення має вигляд W(x,y) = (a·x + b·y + e, c·x + d·y + f). Коефіцієнти a, b, c, d виконують обертання, масштабування й зсув, а e та f переносять точку. Папороть Барнслі, наприклад, використовує чотири такі відображення з імовірностями 0,01, 0,85, 0,07 і 0,07.
Чому відображення стебла папороті Барнслі має таку низьку ймовірність?
Перше відображення (ймовірність 0,01) стискає точки на вертикальне стебло й займає малу площу, тож рідко потребує застосування. Домінуюче відображення з ймовірністю 0,85 будує основну гілку листя. Ймовірності підібрані відповідно до того, яку частину атрактора покриває кожне відображення, забезпечуючи рівномірне, фотореалістичне заповнення.
Що таке розмірність Хаусдорфа, показана в статистиці?
Це фрактальна розмірність атрактора, нецілочисельна міра того, як масштабується деталізація. Трикутник Серпінського має розмірність log3/log2 ≈ 1,585, тоді як крива дракона заповнює площину й наближається до 2. Показані значення — характерні оцінки для кожного пресету.
Чи математично точні відображені фрактали?
Коефіцієнти відображень та ймовірності — це стандартні опубліковані значення для кожної системи, а афінна арифметика точна в форматі з рухомою комою. Зображення — це скінченне семплювання, тож дуже тонка структура проявляється лише з накопиченням більшої кількості точок, але збіжне зображення достовірно передає справжній атрактор.
Що таке теорема про колаж?
Доведена Барнслі й Демко в 1986 році, вона гарантує, що будь-яка IFS зі стискаючих відображень має унікальний компактний атрактор A, що задовольняє A = об'єднанню всіх Wᵢ(A). Вона також показує, як знайти IFS, атрактор якої наближає задану форму, що є основою фрактального стиснення зображень.
Де ітераційні системи функцій використовуються на практиці?
Вони використовуються у фрактальному стисненні зображень, де малюнки кодуються як відображення IFS, а не як пікселі, а також у процедурній генерації рослин, хмар, рельєфу та природних текстур для графіки й ігор. Їхня компактність робить їх ефективними для представлення багато деталізованих самоподібних форм.