function L1
% generovani retezce
n = 8; % pocet iteraci
nr = 2; % pocet pravidel
p{1} = struct('var','A','rule','B-A-B');
p{2} = struct('var','B','rule','A+B+A');
alfa = 60*pi/180;

axiom = 'A';
for i = 1:n
    axiom_new = [];
    for j = 1:length(axiom)
        ax = 0;
        for k = 1:nr
            if(p{k}.var == axiom(j))
                axiom_new = [axiom_new,p{k}.rule];
                ax = 1;
            end
        end
        if(ax == 0)
            axiom_new = [axiom_new,axiom(j)];
        end
    end
    axiom = axiom_new;
    
end

% tisk pomoci zelvi grafiky
n = length(axiom);
x = zeros(n+1,1);
y = zeros(n+1,1);
s = 1;
beta = 0;
for i = 1:n
    if(axiom(i) == 'A' || axiom(i) == 'B')
        x(s+1) = x(s) + cos(beta);
        y(s+1) = y(s) + sin(beta);
        s = s + 1;
    elseif(axiom(i) == '+')
        beta = beta + alfa;
    elseif(axiom(i) == '-')
        beta = beta - alfa;   
    end
end
I = 1:s;
x = x(I);
y = y(I);

figure
plot(x,y);
axis equal;
