15.2: Ітераційні фрактали
- Page ID
- 66177
Таку самоподібну поведінку можна повторити за допомогою рекурсії: повторення процесу знову і знову.
Припустимо, що ми починаємо з заповненого трикутника. З'єднуємо серединні точки кожної зі сторін і прибираємо середній трикутник. Потім повторюємо цей процес.
Якщо повторити цей процес, то форма, яка з'являється, називається прокладкою Серпінського. Зверніть увагу, що він проявляє самоподібність — будь-який шматок прокладки буде виглядати ідентично цілому. Насправді можна сказати, що прокладка Серпінського містить три екземпляри самої себе, кожна половина такого ж високого і широкого, як оригінал. Звичайно, кожен з цих примірників також містить три копії самого себе.
Ми можемо побудувати інші фрактали, використовуючи подібний підхід. Щоб трохи формалізувати це, ми збираємося представити ідею ініціаторів та генераторів.
- Ініціатор - стартова форма
- Генератор - це упорядкована сукупність масштабованих копій ініціатора
Для генерації фракталів з ініціаторів і генераторів дотримуємося простого правила:
На кожному кроці замінюйте кожну копію ініціатора масштабованою копією генератора, обертаючи при необхідності
Цей процес найпростіше зрозуміти на прикладі.
Скористайтеся показаним ініціатором і генератором для створення ітераційного фракталу.
Рішення
Це говорить нам на кожному кроці замінювати кожен відрізок лінії на шипоподібну форму, показану в генераторі. Зверніть увагу, що сам генератор складається з 4 примірників ініціатора. На кроці 1 одиночний відрізок лінії в ініціаторі замінюється генератором. Для кроку 2 кожен з чотирьох відрізків лінії кроку 1 замінюється масштабованою копією генератора:
Цей процес повторюється, щоб сформувати Крок 3. Знову ж таки, кожен відрізок лінії замінюється масштабованою копією генератора.
Зверніть увагу, що оскільки крок 0 мав лише 1 відрізок лінії, крок 1 вимагав лише одну копію кроку 0.
Так як крок 1 мав 4 відрізки лінії, крок 2 вимагав 4 копії генератора.
Крок 2 тоді мав 16 відрізків лінії, тому крок 3 вимагав 16 копій генератора.
Крок 4, значить, будуть потрібні\(16 \times 4 = 64\) копії генератора.
Форма, отримана в результаті ітерації цього процесу, називається кривою Коха, названою на честь Гельге фон Коха, який вперше дослідив її в 1904 році.
Зверніть увагу, що прокладку Серпінського також можна описати за допомогою підходу ініціатор-генератор.
Використовуйте ініціатор та генератор нижче, однак виконуйте лише ітерацію на «гілках». Намалюйте кілька кроків ітерації.
Рішення
Починаємо з заміни ініціатора на генератор. Потім ми замінюємо кожну «гілку» кроку 1 масштабованою копією генератора, щоб створити крок 2.
Ми можемо повторити цей процес, щоб створити наступні кроки. Повторення цього процесу може створити складні форми дерева [1].
Використовуйте показаний ініціатор і генератор, щоб зробити наступні два етапи
- Відповідь
Використовуючи ітераційні процеси, подібні до наведених вище, можна створити різноманітні красиві образи, що нагадують про природу [2] [3].
Більш природні форми можна створити, додавши в хаотичності до сходинок.
Створіть варіацію на прокладці Серпінського шляхом випадкового перекосу кутових точок кожного разу, коли виконується ітерація.
Рішення
Припустимо, ми починаємо з трикутника нижче. Починаємо, як і раніше, з видалення середнього трикутника. Потім ми додаємо в деякій випадковості.
Потім повторюємо цей процес.
Продовжуючи цей процес можна створити гірські споруди.
Пейзаж нижче був створений за допомогою фракталів, потім кольорових і фактурних.
[1] http://www.flickr.com/photos/visualarts/5436068969/
[2] uk.wikipedia.org/Вікі/Файл: fr... e_b_-_ 2% 29.jpg
[3] uk.wikipedia.org/Вікі/Файл:... -_4_states.PNG
[4] uk.wikipedia.org/Вікі/Файл: FR... lLandscape.jpg