Фрактальна графіка Фрактальна графіка обраховується як векторна, але відрізняється тим, що жодних об'єктів у пам'яті комп'ютера не зберігається. Зображення будується за рівнянням(або за системою рівнянь), тому нічого, крім формули, зберігати не потрібно. Змінивши коефіцієнти у рівнянні, отримують зовсім іншу картину. Найпростішим фрактальним об'єктом є фрактальний трикутник. Фрактальними властивостями володіють багато об'єктів живої і неживої природи. Звичайна сніжинка при збільшенні виявляється фрактальним об'єктом. Фрактальні алгоритми лежать в основі росту кристалів і рослин. Властивість фрактальної графіки моделювати образи живої природи обчисленням часто використовують для автоматичної генерації незвичних ілюстрацій. Фрактал ( лат. Fractus – складений із фрагментів) – це зображення, якескладаеться із подібних між собою елементів. Побудова фрактального малюнка може відбуватися за деяким алгоритмом або шляхом автоматичної генерації зображень за до обчислень за певними формулами. Зміна в алгоритмах або значень коефіцієнтів у формулах приводить до модифікації зображення. Фрактальну графіку часто використовують для графічного представлення даних під час моделювання деяких процесів, для автоматичної генерації абстрактних зображень, у розважальних програмах. Як і кожна графіка чи програма фрактальна графіка має свої переваги та недоліки. Переваги фрактальної графіки 1) Малі обсяги даних. 2) Простота модифікації зображень. 3) Можливість деталізації зображення. Недоліки фрактальної графіки: 1) Абстрактність зображень. 2) Необхідність використання досить складних математичних понять і формул.
type mas100_100 = array[1..100, 1..100] of integer;
var a1, a2, a3: mas100_100; i, j, m, n: integer;
procedure InitializeMatrix(var a: mas100_100; m, n: integer); var i, j: integer; begin writeln('Данные матрицы'); for i := 1 to m do begin for j := 1 to n do if handsfree then begin a[i, j] := random(30); write(a[i, j]:2, ' ') end else read(a[i, j]); writeln; end; end;
begin writeln('Введите размер матриц'); readln(m, n);
InitializeMatrix(a1, m, n); InitializeMatrix(a2, m, n);
writeln('Вывод результата'); for i := 1 to m do begin for j := 1 to n do begin a3[i, j] := a1[i, j] * a2[m + 1 - i, n + 1 - j]; write(a3[i, j], ' '); end; writeln; end;