Skip to main content
LibreTexts - Ukrayinska

15.2: Ітераційні фрактали

  • Page ID
    66177
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Таку самоподібну поведінку можна повторити за допомогою рекурсії: повторення процесу знову і знову.

    Приклад 1

    Припустимо, що ми починаємо з заповненого трикутника. З'єднуємо серединні точки кожної зі сторін і прибираємо середній трикутник. Потім повторюємо цей процес.

    fr1.svg

    Якщо повторити цей процес, то форма, яка з'являється, називається прокладкою Серпінського. Зверніть увагу, що він проявляє самоподібність — будь-який шматок прокладки буде виглядати ідентично цілому. Насправді можна сказати, що прокладка Серпінського містить три екземпляри самої себе, кожна половина такого ж високого і широкого, як оригінал. Звичайно, кожен з цих примірників також містить три копії самого себе.

    fr2.svg

    Ми можемо побудувати інші фрактали, використовуючи подібний підхід. Щоб трохи формалізувати це, ми збираємося представити ідею ініціаторів та генераторів.

    Ініціатори та генератори

    • Ініціатор - стартова форма
    • Генератор - це упорядкована сукупність масштабованих копій ініціатора

    Для генерації фракталів з ініціаторів і генераторів дотримуємося простого правила:

    Правило генерації фракталів

    На кожному кроці замінюйте кожну копію ініціатора масштабованою копією генератора, обертаючи при необхідності

    Цей процес найпростіше зрозуміти на прикладі.

    Приклад 2

    Скористайтеся показаним ініціатором і генератором для створення ітераційного фракталу.

    fr3.svg

    Рішення

    Це говорить нам на кожному кроці замінювати кожен відрізок лінії на шипоподібну форму, показану в генераторі. Зверніть увагу, що сам генератор складається з 4 примірників ініціатора. На кроці 1 одиночний відрізок лінії в ініціаторі замінюється генератором. Для кроку 2 кожен з чотирьох відрізків лінії кроку 1 замінюється масштабованою копією генератора:

    fr4.svg

    Цей процес повторюється, щоб сформувати Крок 3. Знову ж таки, кожен відрізок лінії замінюється масштабованою копією генератора.

    fr5.svg

    Зверніть увагу, що оскільки крок 0 мав лише 1 відрізок лінії, крок 1 вимагав лише одну копію кроку 0.

    Так як крок 1 мав 4 відрізки лінії, крок 2 вимагав 4 копії генератора.

    Крок 2 тоді мав 16 відрізків лінії, тому крок 3 вимагав 16 копій генератора.

    Крок 4, значить, будуть потрібні\(16 \times 4 = 64\) копії генератора.

    Форма, отримана в результаті ітерації цього процесу, називається кривою Коха, названою на честь Гельге фон Коха, який вперше дослідив її в 1904 році.

    fr6.svg

    Зверніть увагу, що прокладку Серпінського також можна описати за допомогою підходу ініціатор-генератор.

    fr7.svg

    Приклад 3

    Використовуйте ініціатор та генератор нижче, однак виконуйте лише ітерацію на «гілках». Намалюйте кілька кроків ітерації.

    fr8.svg

    Рішення

    Починаємо з заміни ініціатора на генератор. Потім ми замінюємо кожну «гілку» кроку 1 масштабованою копією генератора, щоб створити крок 2.

    fr9.svg

    Ми можемо повторити цей процес, щоб створити наступні кроки. Повторення цього процесу може створити складні форми дерева [1].

    fr10.svg

    Спробуйте зараз 1

    Використовуйте показаний ініціатор і генератор, щоб зробити наступні два етапи

    fr11.svg

    Відповідь

    fr20.svg

    Використовуючи ітераційні процеси, подібні до наведених вище, можна створити різноманітні красиві образи, що нагадують про природу [2] [3].

    clipboard_e9b4ba7cda9789c7fb470d09e7a71e805.png

    Більш природні форми можна створити, додавши в хаотичності до сходинок.

    Приклад 4

    Створіть варіацію на прокладці Серпінського шляхом випадкового перекосу кутових точок кожного разу, коли виконується ітерація.

    Рішення

    Припустимо, ми починаємо з трикутника нижче. Починаємо, як і раніше, з видалення середнього трикутника. Потім ми додаємо в деякій випадковості.

    fr12.svg

    Потім повторюємо цей процес.

    fr13.svg

    Продовжуючи цей процес можна створити гірські споруди.

    Пейзаж нижче був створений за допомогою фракталів, потім кольорових і фактурних.

    clipboard_ef93d761db8d01747944792f803ec07fd.png


    [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