s = [x (i); y (i)]; R = A * R + a; X (i) = R (1); Y (i) = R (2); z = system3 (D);
% функція, що повертає значення цілого числа
% в трійчастий системі числення
% D - число в десятковій системі числення
n = 1; D> = 3 ^ nn = n +1; endn> 1 = floor (D/3 ^ (n-1)) * 10 ^ (n-1); b = mod (D, 3 ^ (n-1)); b> = 3 = system3 (b);% рекурсія = a + b; = D;
end
.1.2 Зображення килима Серпінського побудованого за допомогою ДСІФ
В
Малюнок 27 - Килим Серпінського 4 порядку (ДСІФ)
.2 Кристал побудований за алгоритмом РСІФ
На відміну від ДСІФ в рандомізованому алгоритмі початкове безліч S 0 складається з однієї точки (x < span align = "justify"> 0 , y 0 ), а правило, за яким точці ставиться у відповідність точка (x i , y i ), де i - номер правила, вибирається випадковим чином з набору, що містить всі можливі правила афінних перетворень. Наприклад, стосовно до килима Серпінського це означає, що при побудові килима 2_го порядку перетворення повинне випадковим чином вибиратися з наступного безлічі перетворень:
В
число елементів N якого дорівнює
Таким чином, для побудови килима Серпінського в пакеті MATLAB за допомогою РСІФ можна використовувати наступний алгоритм.
. Задати порядок килима Серпінського n. p align="justify">. Задати число випробувань NTrial. p align="justify">. Задати число афінних перетворень m = 3. p align="justify">. Сформувати масив, що містить набір правил для афінних перетворень. p align="justify">. Задати координати початкової точки (x 0 , y 0 ).
. Перекласти кожне з чисел 1, 2, ..., 3n в трійкову систему числення. p align="justify">. Задати аффінниє перетворення. p align="justify">. Для заданого числа випробувань послідовно, починаючи з початкової точки, відповідно до правил афінних перетворень, обираних випадковим чином, обчислити точки ітераційної послідовності. p align="justify">. Відобразити обчислене безліч точок у графічному вікні. p align="justify"> Приклад кристала, побудованого за допомогою описаного вище алгоритму РСІФ, представлений на малюнку 28. Нижче наводиться лістинг файлу Cristal.m, що містить опис відповідної функції. br/>
3.2.1 Код програми "Cristal.m"
% Лістинг файлу Cristal.m
function z = Cri...