69108

Фрактальні зображення

Лекция

Информатика, кибернетика и программирование

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

Украинкский

2014-09-30

49.5 KB

0 чел.

Лекція 17. Тема: Фрактальні зображення.

1. Фрактальні зображення

Фундатор напряму фрактальної геометрії Б. Мандельброт дав таке визначення фрактального зображення, або фрактала (від англ. fractionдріб): «Фракталом називається структура, що складається з частин, які подібні цілому». Можна взяти певну частину ідеального фрактала, збільшити її в будь-яку кількість разів, і вона в точності повторюватиме вихідний об'єкт або певну його частину. Візерунок, який зображено на рис. 5.5., називається множниою Мандельброта і є одним з найвідоміших фрактальних об'єктів.

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

Множина Мандельброта визначається таким рівнянням:

Тут змінна Z і параметр С - комплексні числа, n - номер ітерації. Нагадаємо, що кожне комплексне число можна подати у вигляді w=a+bi де a i b – дійсні числа, і - уявна одиниця, тобто число, що задовольняє умову і2 =-1. Дійсні числа a=Re(w) i b=Im(w) називаються відповідно дійсною і уявною частинами комплексного числа w. Піднесемо комплексне число до квадрата: w2=(a+bi)(a+bi)=a2+abi+abi+i2b2=a2+2abi-b2. Застосувавши цю формулу до рівняння, що описує множину Мандельброта, отримаємо

Re(Zn)=(Re(Zn-1))2-(Im(Zn-1))2+Re(C);

Im(Zn)=2Re(Zn-1)Im(Zn-1)+Im(C).

Комплексне число зручно зображувати точкою на площині, абсциса й ордината якої відповідають дійсній та уявній частині числа. Щоб отримати зображення множини Мандельброта, потрібно виконати певну кількість ітерацій за визначеними вище формулами для кожної точки w прямокутника, лівим нижнім кутом якого є точка             (-2;- 1,25), а правим верхнім - точка (1,25; 1,25). Ітерації тривають доти, доки не стане істинною умова |Zn|>2 або доки не буде виконано певну кількість ітерацій. При цъому числом ітерацій визначається колір точки w, а дійсна та уявна частини комплексної константи С дорівнюють відповідним координатам w: Re(C)= wx, Im(C)= wy. Зауважимо, що модуль комплексного числа дорівнює квадратному кореню з суми квадратів його дійсної та уявної частин: .

Приклад 5.6.

Програма ех5_5 будує множину Мандельброта (рис. 5.5). Координати всіх точок екрана перетворюються так, щоб екран став зображенням прямокутника, лівим нижнім кутом якого є точка (-2; -1,25), а правим верхнім - точка (1,25; 1,25).

program ex5_5;

uses graph;

const  minx=-2;     {координати лівого нижнього кута}

          miny=-1.25;     {прямокутної множини точок}

maxx=1.25;     {координати правого верхнього кута}

 maxy=1.25;     {прямокутної множини точок}

 ScreenWidth=640;    {кількість пікселів на екрані}

 ScreenHeight=480;

var  dx, dy: real;     {приріст координат пікселів}

x, y, color: integer;    {поточні координати та колір піксела}

driver, mode: integer;    {графічний драйвер і режим}

{--------------------------------- визначення кольору піксела ---------------------------------}

function Calc_pixel (reC, imC: real): integer; 

{параметри – дійсна та уявна частини комплексного числа}

const

  max_iteration=128;     {кількість ітерацій}

var

  old_a: real;      {попереднє значення дійсної частини}

  iteration: integer;     {лічильник ітерацій}

  a, b: real;     {дійсна і уявна частини комплексного числа}

  z: real;      {довжина вектора z}

begin

  a:=0; b:=0; iteration:=0;

  repeat

     old_a:=a;      {запам’ятати попереднє значення}

     a:=a*a - b*b + reC;    {нова дійсна частина}

     b:=2*old_a*b + imC;    {нова уявна частина}

     iteration:= iteration+1;    {перейти до наступної ітерації}

     z:=a*a + b*b;     {квадрат модуля числа}

  until (z>4) or (iteration> max_iteration);

  Calc_pixel:= iteration;

end;

{--------------------------------- основна програма ---------------------------------}

begin

  driver:=detect;

  initgraph (driver, mode, ‘ ’);

  dx:=(maxx-minx)/ScreenWidth;

  dy:=(maxy-miny)/ScreenHeight;

  for y:=0 to ScreenHeight- 1 do

     for x:=0 to ScreenWidth-1 do

     begin

        color:=Calc_pixel (minx+x*dx, miny+y*dy);

        putpixel (x, y, color);

     end;

end.

Висновки

  •  Програма, що працює у графічному режимі, використовує графічні драйвери – файли, які містять інформацію про властивості відеоадаптерів. У середовищі Borland Pascal 7.0 графічні драйвери зберігаються у файлах з розширенням bgi.
  •  Бібліотека графічних підпрограм міститься в модулі Graph, записаному у файлі …\units\graph.tpu.
  •  Для використання графічних засобів комп’ютера слід ініціалізувати графічний режим роботи дисплейного адаптера.
  •  У графічному режимі кількість пікселів на екрані визначається роздільною здатністю відеоадаптера і дисплея. Роздільна здатність адаптерів VGA становить 640х480 пікселів. Лівий верхній кут екрана має координати (0, 0), правий нижній – (639б 479).
  •  Для зображення графічних об’єктів використовується кольорова палітра, що містить кольори, які кодуються цілочисловими значеннями 0, 1,…, maxcolor. На адаптері VGA одночасно може відображатися до 16 кольорів.
  •  Для виведення тексту в графічному режимі використовуються шрифти, записані у файлах з розширенням chr.
  •  При відображенні геометричних об’єктів використовуються формули перетворення логічних координат на екранні. Ці формули враховують зміни масштабу об’єкта і зсув початку координат.
  •  Для зсуву, повороту, стискання або розтягування геометричного об’єкта застосовують лінійні перетворення його координат. Лінійні перетворення характеризуються такими властивостями: прямі лінії залишаються прямими, паралельність прямих і пропорційність відстаней, а також відношення площ геометричних фігур зберігаються.
  •  Анімація об’єктів здійснюється копіюванням зображення в оперативну пам’ять і виведенням його копії на екран у нових координатах.
  •  Фракталом називається структура, що складається з частин, подібних до цілого.

Контрольні питання

  1.  Для чого призначені графічні драйвери?
    1.  Як ініціалізувати графічний режим?
    2.  Скільки кольорових відтінків можна відобразити за допомогою адаптера VGA?
    3.  Наведіть формули перетворення логічних координат на екранні.
    4.  Які перетворення координат об’єктів називаються лінійними?
    5.  Як відобразити текст у графічному режимі?
    6.  Як реалізувати анімацію?
    7.  Дайте визначення фрактального зображення.


 

А также другие работы, которые могут Вас заинтересовать

39303. ЛАНДШАФТЫ ПУХОВИЧСКОГО РАЙОНА 953 KB
  Дана классификация природных ландшафтов Беларуси и характеристика ландшафтов Пуховичского района. Классификация ландшафтов Беларуси. Классификация ландшафтов Беларуси. ВВЕДЕНИЕ Изучение ландшафтов является актуальным в наше время и позволяет получить необходимую и полезную информацию о геологическом строении и рельефе данной территории климате водах почвеннорастительном покрове животном мире и других показателях.
39304. Финансы организаций (предприятий) 118 KB
  Практическая часть должна содержать аналитическую информацию анализ показателей деятельности предприятия в соответствии с темой работы. Рекомендательная часть должна содержать рекомендации по улучшению финансового состояния предприятия в части использования предмета исследования курсовой работы. НАПРАВЛЕНИЯ ОБЪЕКТОВ КУРСОВЫХ РАБОТ Предприятия различных организационноправовых форм. Предприятия отраслей: сельское хозяйство; пищевая и перерабатывающая промышленность; общественное питание; торговля; предприятия других отраслей не...
39305. Организация взаимодействия трехмерного редактора и визуализатора на основе трассировки лучей 3.93 MB
  Данная дипломная работа заключается в организации взаимодействия трехмерного редактора и визуализатора на основе трассировки лучей путем добавления в визуализатор возможности импорта информации о трехмерной сцене из XML-файлов и написания программы-модуля для трехмерного редактора, позволяющей экспортировать такого рода файлы.
39306. Расчет годовой производственной программы 105.3 KB
  Главная передача автомобиля предназначена для постоянного увеличения подводимого от двигателя крутящего момента и передачи его под прямым углом к ведущим колесам. Постоянное увеличение крутящего момента характеризуется передаточным числом главной передачи. На автомобилях КамАЗ в зависимости от назначения передаточное число главной передачи равно 543; 594; 653; 722. На модификациях автомобилей предназначенных для использования в качестве седельных тягачи передаточные числа главной передачи увеличены.
39307. Организация бухгалтерского учета на ООО «Мое солнце» 219 KB
  Учетная политика Объектом прохождения практики послужило предприятие ООО Мое солнце. ООО МОЕ СОЛНЦЕ создано в соответствии с Гражданским кодексом Российской Федерации Федеральным законом Об обществах с ограниченной ответственностью другими действующими законодательными актами Российской Федерации. ООО МОЕ СОЛНЦЕ является юридическим лицом имеет круглую печать и штампы со своим наименованием свой торговый знак расчетный и иные счета в банках другие реквизиты необходимые для хозяйственной и иной деятельности. ООО МОЕ СОЛНЦЕ...
39308. Анализ маркетинговой деятельности предприятия ООО «Грат-Вест» 496.5 KB
  Игрушки для детей – это миниатюрное отражение взрослого мира. Бессмысленно недовольно коситься на крохотные микроволновые печи и мобильные телефоны – дети играют в нашу с вами взрослую жизнь, таким образом ее осваивая. Наш мир сегодня необыкновенно разнообразен. Стоит ли удивляться, что мир игрушек для детей предлагает воистину огромный выбор. Данная работа представляет аналитический отчет о прохождении производственной практики на предприятии ООО «Грат-Вест», которое занимается продажей детских товаров.
39309. МЕХАНІЗМИ РЕАЛІЗАЦІЇ ПРАВ ДИТИНИ В УКРАЇНІ 365 KB
  Дитину жодним чином не можна прирівнювати до дорослої людини, у тому числі й у правових аспектах. Дитина має бути забезпечена особливими правами, особливим захистом, які мають часовий вимір і спеціальне призначення. Дитина, як і кожна людська істота, від народження має права людини.
39310. Маркетинговая деятельность «Вест-Алко» 244 KB
  Маркетинговая деятельность ВестАлко. Функции выполняемые службой маркетинга ООО ВестАлко. Анализ маркетинговой деятельности ООО ВестАлко. Переход к рыночным отношениям в России явился важной предпосылкой развития маркетинга. Данная работа представляет аналитический отчет о прохождении производственной практики на предприятии ВестАлко которое является виноводочным заводом.
39311. Характеристика предприятия ООО «Политон» 54.5 KB
  Характеристика предприятия ООО Политон. Целью преддипломной практики являются следующие задачи: Закрепить теоретические знания полученные по дисциплине Бухгалтерский учет анализ аудит; Приобрести необходимые навыки самостоятельной работы по анализу и учету отчетности и основных показателей предприятия; Получить практические навыки в качестве бухгалтера и аналитика; Развить творческую инициативу с целью решения задач по дальнейшему улучшению планирования и повышения эффективности учета деятельности предприятия;...