Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Створення фракталів

Реферат Створення фракталів





тера-Хейтуея. Його кодом (стисненим описом) є набір коефіцієнтів двох афінних перетворень.


Рис 13. Дракон Хартера-Хейтуея, побудований за допомогою IFS в прямокутнику 640x350


Аналогічно можна побудувати IFS для кривої Кох. Неважко бачити, що ця крива має чотири частини, подібні цілої кривої ({пункт «геометричні фрактали»} рис.2). Для знаходження IFS знову розташуємо перше покоління цього фрактала на сітці координат дисплея 640 x 350 (Рис.14).


Рис 14. Заготівля для побудови IFS кривої Кох


Для її побудови потрібно набір афінних перетворень, що складається з чотирьох перетворень:


X =0.333 * X + 13.333 =0.333 * Y + 200 =0.333 * X + 413.333 =0.333 * Y + 200 =0.167 * X + 0.289 * Y + 130 =- 0.289 * X + 0.167 * Y + 256 =0.167 * X - 0.289 * Y + 403 =0.289 * X + 0.167 * Y + 71


Результат застосування цього аффинного колажу після десятого ітерації можна побачити на рис.15.


Рис 15. Крива Кох, побудована за допомогою IFS в прямокутнику 640x350


Використання IFS для стиснення звичайних зображень (наприклад, фотографій) засновано на виявленні локального самоподібності, на відміну від фракталів, де спостерігається глобальне самоподоба і знаходження IFS не надто складно (ми самі в цьому переконалися). За алгоритмом Барнслі відбувається виділення в зображенні пар областей, менша з яких подібна більшою, і збереження декількох коефіцієнтів, що кодують перетворення, що переводить більшу область в меншу. Потрібно, щоб безліч менших областей покривало все зображення. При цьому у файл, що кодує зображення будуть записані не тільки коефіцієнти, що характеризують знайдені перетворення, але й місце розташування і лінійні розміри великих областей, які разом з коефіцієнтами будуть описувати локальне самоподоба кодованого зображення. Відновлюючий алгоритм, в цьому випадку, повинен застосовувати кожне перетворення не до всієї безлічі точок, одержані на попередньому кроці алгоритму, а до деякого їх підмножині, приналежному області, що відповідає вживаному перетворенню.

системи


Любителям фракталів і математичних картинок відомі фантастичні зображення рослин, отримані за допомогою програм. Це так звані L-системи. В основі їх побудови лежать два принципи. Перший - це так звана «черепашача графіка» (оператор draw) патріарха GWBASIC і його дітей Turbo Basic і QBasic, коли рух малюється покроково в збільшеннях щодо поточної точки. Або моделюється дану поведінку, задаючи рух в збільшеннях координат. Другий принцип - родзинка методу: кожне одиничне рух замінюється на весь малюнок. Наприклад, намалюємо вилку-рогатульку. На наступному кроці роботи програми кожна з трьох паличок вилки замінюється такий же виделкою, перетворюючи вилку в гілку з сучками, після наступного кроку отримаємо кошлатий кущ, потім пухнасте дерево, красиве, фрактальное. Міняючи вид початкової картинки можна отримувати самі різні зображення від парасольок кропу до колючого перекотиполе або пучка водоростей.

Суть L-кодування зводиться до наступного. Уявімо собі якесь віртуальне програмований пристрій, що складається з пера, керуючого ним механізму і аркуша паперу. Керуючий пером механізм здатний виконувати кілька команд. А саме: він може опустити перо на папір і викреслити прямий відрізок заданої довжини в напрямі поточної орієнтації пера (команда F). Він може змінити орієнтацію пера по відношенню до поточної на якийсь заданий відносний кут за годинниковою або проти годинникової стрілки (команди + і -). Він може також запам'ятовувати (заносити в стек) свій поточний стан (команда [) і згадувати (витягати з стека) раніше запомненное стан (команда]). Під станом в даному випадку розуміється трійка чисел (x, y, a), де x і y - це координати пера і а - це кут, що визначає напрямок орієнтації пера. Таким чином, задавши якесь початкова напрям а0, визначивши відносний кут повороту в 900 і задавши довжину відрізка, за допомогою послідовності команд F + F + F + F ми можемо намалювати квадрат. Визначивши відносний кут повороту в 600, за допомогою послідовності команд F ++ F ++ F можна намалювати рівносторонній трикутник.



Припустимо також, що в програми для нашого віртуального пристрою, крім п'яти перерахованих команд, можна включати будь-які інші символи, які керуючий механізм буде просто ігнорувати. Тобто якщо ми введемо програму F + BF + CCF + CF, то пристрій все одно намалює квадрат. Тепер подумки оснастимо наш пристрій приставкою, яка перед тим, як передати введену програму на керуючий механізм, може задане число раз переглядати її, і при кожному черговому перегляді замінювати будь-які символи послідовності по попередньо вказаними правилами. Вихідну програмну послідовність символів тепер будемо називати аксіомою. Наприклад, введемо аксіому FB +, і визначимо правило B lt; F + FB...


Назад | сторінка 6 з 12 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Опісові композіційно-мовленнєві форми в творах Т. Прохаська &З цього можна ...
  • Реферат на тему: Розробка програми з використанням OpenGL для динамічного зображення тривимі ...
  • Реферат на тему: Анексія Криму, як можна вірішіті Конфлікт України с Россией чі можна его ві ...
  • Реферат на тему: Побудова яркостной гістограми зображення зерен пилку, отриманих за допомого ...
  • Реферат на тему: Система команд. Структура слова команд. Синтаксис команд. Групи команд