"justify">% породжує правило = n + l;
tmp = RuleKoch (Lmax, Axiom, Newf, n, tmp);%
% рекурсія;; = tmp; [X, Y] = Koch (Lmax)
% функція, що повертає зображення сніжинки Коха
% Lmax - порядок сніжинки
% породжують правила = 'F + + F + + F';
Newf = 'F-F + + F-F';
teta = pi/3; = 0; = [0, 0];% стартова точка = Coord (p, Lmax, Axiom, Newf, alpha, teta, p);% звернення до функції,
% возвращающей координати вершин = size (p, 2);% число вершин сніжинки Коха = p (1:1,1: M);% створення вектора, що містить Х-е координати вершин сніжинки = p (2:2,1: M);% створення вектора, що містить Ye координати вершин сніжинки (1);% ініціалізація графічного вікна (X, Y, 'Color', 'k');% побудова сніжинки Коха
% функція, що повертає координати вершин сніжинки Коха = RuleKoch (Lmax, Axiom, Newf, 1, '');% завдання L-системи
M = length (Rule); i = l: M = p (1:2, size (p, 2): size (p, 2)); Rule (i) == 'F '% крок вперед = [cos (alpha); sin (alpha)]; = R/(4 ^ Lmax); = Tmp + R; = cat (2, p, Tmp);;
if Rule (i) == '+'% збільшення кута, що задає напрямок руху = alpha + teta;; Rule (i) == '-'% зменшення кута, що задає напрямок руху
alpha = alpha-teta; end; end;
z = p;
2.1.2 Код програми "Snowflake.m" (висновок зображення)
function [X, Y] = Snowflake (Lmax)
% функція, що повертає зображення
% сніжинки Коха
% Lmax - порядок сніжинки
% породжують правила = 'F + + F + + F';
Newf = 'F-F + + F-F';
teta = pi/3; = 0; = [0, 0];% стартова точка
p = Coord (p, Lmax, Axiom, Newf, alpha, teta);
% звернення до функції, що повертає координати вершин = size (p, 2);% число вершин сніжинки Коха = p (1:1,1: M);
% створення вектора, що містить Х-е координати вершин сніжинки = p (2:2,1: M);
% створення вектора, що містить Y-е координати вершин сніжинки (1);% ініціалізація графічного вікна (X, Y, 'Color', 'k');% побудова сніжинки Коха
function z = Coord (p, Lmax, Axiom, Newf, alpha, teta)
% функції, які повертають координати вершин сніжинки Коха = RuleKoch (Lmax, Axiom, Newf, 1, '');% завдання L-системи
M = length (Rule); i = 1: M = p (1:2, size (p, 2): size (p, 2)); Rule (i) == 'F '% крок вперед = [cos (alpha); sin (alpha)]; R = R/(4 ^ Lmax); = Tmp + R; p = cat (2, p, Tmp);