фрактали.
Друга велика група фракталів - алгебраїчні. Свою назву вони отримали за те, що їх будують, на основі алгебраїчних формул іноді вельми простих. Методів отримання алгебраїчних фракталів декілька. Один з методів являє собою багаторазовий (ітераційний) розрахунок функції Zn + 1=f (Zn), де Z - комплексне число, а f - якась функція. Розрахунок даної функції триває до виконання певної умови. І коли ця умова виконається - на екран виводиться крапка. При цьому значення функції для різних точок комплексної площині може мати різну поведінку:
? з плином часу прагне до нескінченності;
? прагне до 0;
? приймає декілька фіксованих значень і не виходить за їх межі;
? поведінку хаотично, без будь-яких тенденцій.
Щоб проілюструвати алгебраїчні фрактали звернемося до класики - безлічі Мандельброта.
Рісунок13- Безліч Мандельброта
Для його побудови нам необхідні комплексні числа. Комплексне число - це число, що складається з двох частин - дійсної і уявної, і позначається воно a + bi. Дійсна частина a це звичайне число в нашому уявленні, а bi - уявна частина. i - називають уявною одиницею, тому, що якщо ми зведемо i в квадрат, то отримаємо - 1.
Комплексні числа можна складати, віднімати, множити, ділити, підносити до степеня і витягувати корінь, не можна тільки їх порівнювати. Комплексне число можна зобразити як точку на площині, у якої координата Х це дійсна частина a, а Y це коефіцієнт при уявній частині b.
Функціонально безліч Мандельброта визначається як
+ 1=Zn * Zn + C.
Для побудови безлічі Мандельброта скористаємося алгоритмом на Бейсіке.a=- 2 to 2 для всіх дійсних а від - 2 до 2b=- 2 to 2 для всіх уявних b від - 2 до 2
С=a + bi=0 + 0i
'Належить безлічі Мандельброта=True
'Повторюємо 255 раз (для режиму 256 кольорів)
For iteration=1 to 255=Z0 * Z0 + C
'Перевірили - непрінадлежітabs (Zn) gt; 2 then Lake=False: Exit For0=Zn
'Намалювали чорну точку, що належить озеру Мандельброта.
If Lake=True Then PutPixel (a, b, BLACK)
'Намалювали крапку не приналежну безлічі або лежачу на кордоні.
Else PutPixel (a, b, iteration)
Next
А тепер опишемо програму словами. Для усіх точок на комплексній площині в інтервалі від - 2 + 2i до 2 + 2i виконуємо деякий досить велика кількість раз Zn=Z0 * Z0 + C, щоразу перевіряючи абсолютне значення Zn. Якщо це значення більше 2, що малюємо точку з кольором рівним номеру ітерації на якому абсолютна значення перевищило 2, інакше малюємо точку чорного кольору. Всі безліч Мандельброта в повній красі у нас перед очима.
Чорний колір в середині показує, що в цих точках функція прагне до нуля - це і є безліч Мандельброта. За межами цієї множини функція прагне до нескінченності. А найцікавіше це межі множини. Вони то і є фрактальними. На кордонах цієї множини функція поводиться непередбачувано - хаотично.
Міняючи функцію, умови виходу з циклу можна отримувати інші фрактали. Наприклад, взявши замість виразу З=a + bi вираз Z0=a + bi, а З привласнювати довільні значення ми отримаємо безліч Жюліа, теж красивий фрактал.
Для множини Мандельброта теж проявляється самоподоба.
Стохастичні фрактали
Типовий представник даного класу фракталів «Плазма».
Рісунок14-Плазма
Для її побудови візьмемо прямокутник і для кожного його кута визначимо колір. Далі знаходимо центральну точку прямокутника і розфарбовуємо її в колір рівний середньому арифметичному квітів по кутах прямокутника плюс деякий випадкове число. Чим більше випадкове число - тим більше «рваним» буде малюнок. Якщо, наприклад, сказати, що колір точки це висота над рівнем моря, то отримаємо замість плазми - гірський масив. Саме на цьому принципі моделюються гори в більшості програм. За допомогою алгоритму, схожого на плазму будується карта висот, до неї застосовуються різні фільтри, накладається текстура.
комп'ютерний графіка векторний анімація
Висновок
У цій роботі був вивчений таке питання як історія розвитку комп'ютерної графіки, були дані поняття основними видами комп'ютерної графіки, розглянуті можливості комп'ютерної графіки.
Вивчивши літератури з даної теми можна зробити висновок, що історія гр...