- •Менський Микола Іванович побудова фрактальних зображень
- •Основна частина Що таке фрактал ?
- •Множина Мандельброта
- •Фрактальні орбіти
- •Ітераційні функціональні системи (ifs)
- •Геометричні фрактали.
- •Побудова графічного зображення трикутника Серпінського
- •Побудова графічного зображення кривої Коха
- •Крива Гільберта
- •Крива Безьє
- •Технічне завдання Опис схеми програмного продукту «Фрактальний сад»
- •Вимоги до програмного забезпечення
- •Вимоги до апаратного забезпечення
- •Стадії та етапи розробки
- •Опис застосування
- •Висновок
- •Рекомендації
- •Список використаної літератури:
- •Додатки
- •Построение фракталов. Часть первая.
Основна частина Що таке фрактал ?
Т
ермін
"фрактал" походить від латинського
"fractus" - зламаний, розбитий,
розчленований. Саме цією властивістю
відрізняється усяка фрактальна структура
від звичних фігур і тіл. Фрактал не
задається в готовому вигляді, а утворюється
шляхом багаторазового повторення
якої-небудь вихідної форми в усе
зменшуваному масштабі по визначеному
алгоритмі чи формулі. Безліч реальних
об'єктів мають фрактальну структуру:
хмари, гори, дерева, турбулентні потоки.
Навіть кровоносна система людини - теж
просторовий фрактал. Математик фірми
IBM Бенуа Мандельброт (Benoit B. Mandelbrot) одержав
математичне визначення фракталу.
"Множина Мандельброта" задається
простою формулою: Z = Z * Z + C Тут змінна Z
і константа С - комплексні числа, які
відображаються точками на комплексній
площині. Суть алгоритму полягає в
послідовному розрахунку значень Z, щораз
підставляючи у формулу значення Z,
отримане на попередньому кроці. Початкове
значення Z відповідає координатам точки,
що розраховується. Класичний вид безлічі
виходить при С=0. У цьому випадку формула
зводиться до нескінченного ряду
(((Z·Z+Z)·Z+Z)·Z+Z)·Z+... Даний ряд може сходитися
(тобто модуль Zk залишається кінцевим
при будь-якій кількості кроків k) або ж
летить у нескінченність з різною
швидкістю, що залежить тільки від
координат крапки Z°. Графічне відображення
безлічі Мандельброта полягає в обчисленні
ряду для кожної точки (кількість ітерацій
залежить від обраного масштабу, але, як
правило, більш 1000 кроків не потрібно) і
виборі кольору, виходячи зі значення
лічильника ітерацій, з яким був покинутий
цикл. Існують "M-Set" і "F-Set"
методи розрахунку. Варіант формули,
коли є присутня комплексна константа
C, має назву "Julie-set", і формула
записується як ((((Z+C)2+C)2+C)2+C)2+...
Різниця, на перший погляд, невелика, але
вид фракталу цілком міняється! Слід
зазначити, що формули фракталів множиною
Мандельброта далеко не обмежуються.
Наприклад, якщо квадрат замінити третім,
четвертім і так далі степенями, то можна
одержати нові фрактали, нітрохи не схожі
на оригінального Мандельброта.
Множина Мандельброта
Ц
ей
фрактал названий на честь Бенуа
Мандельброта (Benoit Mandelbrot), що вперше
описав його. Його формула дуже проста:
Z = Z * Z + C
Усі
розрахунки виконуються на комплексній
площині. Нормальна множина формується
при C рівному координатам точки, що
розраховується. Якщо задати C рівним
деякій константі, о
днакової
для кожної точки, то можна одержати
Julie-вид множини, зовнішній вигляд якого
буде мінятися в залежності від значення
C і ніколи не буде схожий на нормальну
множину. Наприклад, при C={0.4, 0.5} фрактал
має наступний вигляд:
Фрактальні орбіти
Орбіти розраховуються для однієї конкретної точки (це значення називається Seed), а на графічну площину виводяться точки, одержані після кожної ітерації. Природно, кількість ітерацій, необхідних для одержання достатньої для відображення картини, приблизно на два-три порядків більше, ніж у випадку розрахунку звичайної фрактальної множини. Як приклад можна привести один з варіантів формули Hopalong:
N
ewX
= y + Sin(|A*x - C|)
NewY = y - Sin(|B*x - C|)
При цьому, на початку розрахунку значення X і Y рівні Seed. Вид фрактальної орбіти залежить від значення Seed і міняється в дуже широких межах, обумовлених видом формули. Для Seed = {0.5, 0.5} орбіта має вигляд:
F-Set і M-Set методи розрахунку.
Розрахунок фракталу полягає в покроковому обчисленні полінома й аналізі комплексної величини Zk, одержуваної на кожнім кроці. M-Set метод припускає перевірку на збіжність ряду, і аналіз швидкості, з яким Z летить у нескінченність. Як правило, модуль комплексного числа Z порівнюють з деякою величиною, називаної BailOut, і умовою виходу з циклу є: |Z|>BailOut У випадку F-Set методу передбачається збіжність ряду і перевіряється не швидкість, з якою Z летить у нескінченність, а навпаки - швидкість зменшення Z до нуля. Умовою виходу з циклу є: |Z|<10E-n. Допускається об’єднання методів F-Set і M-Set.
