отримаємо послідовність вкладених множин, S n перетин яких і утворює килим Серпінського S (рис. 1). З побудови видно, що килим є об'єднанням N = 3 непересічних зменшених у два рази копій (коефіцієнти подібності по горизонталі і вертикалі в даному випадку виявляються однаковими, r = 1/2). Фрактальна розмірність килима Серпінського d дорівнює:
В
Для побудови розглянутого фрактала, очевидно, можна використовувати наступний алгоритм.
. Задати порядок килима N.
. Задати координати вершин вихідного трикутника ABC: (X A , Y A < span align = "justify">), (X B, Y B ), (X C, Y C ).
. Побудувати рівносторонній трикутник ABC і залити його синім кольором. p align="justify"> Обчислити координати середин сторін трикутника ABC:
В
5. Побудувати трикутник A? B? C? і залити його червоним кольором.
. Повторити N раз дії, описані в пп. 4, 5, для трикутників AA? C?, A? BB?, C? B? C, відповідно. p align="justify"> Найбільш просто описаний вище алгоритм можна реалізувати при використанні рекурсивної процедури, що виконує послідовність дій, описаних у пп. 4, 5. p align="justify"> Для реалізації алгоритму в пакеті MATLAB створена спеціальна функція, що повертає зображення килима Серпінського. Для цього використовувався вбудований текстовий редактор MATLAB. Код програми наведено нижче. Зображення килима Серпінського на малюнках 1 - 6. br/>
.1.1 Код програми "Serpinsky.m"
% Лістинг файлу Serpinsky.mz = Serpinsky (Lmax)
% функція, що повертає зображення килима Серпінського
% Lmax - порядок килима
% завдання координат вершин рівнобедреного трикутника
x1 = 0; y1 = 0; x2 = 1; y2 = 0; x3 = 0.5; y3 = sin (pi/3);
h = figure (1);% ініціалізації графічного окнаon;% включення режиму малювання фігур в одному графічному вікні
fill ([x1 x2 x3], [y1 y2 y3], 'b');
% промальовування рівностороннього трикутника (gca, 'xtick', [], 'ytick', []);% відключення режиму оцифровки осей (gca, 'XColor', 'w', 'YColor', 'w');% установка кольору малювання осей
Simplex (x1, y1, x2, y2, x3, y3, 0, Lmax);
% звернення до функції, промальовує рівносторонні трикутники
...