Fichier iterate2.mp (figure 1) — Modifié le 2 Mars 2005 à 00 h 32
% lsystem ITERATE2.LS -- Thu Feb 13 00:54:56 CET 2003
%% Fichier de paramètres : ITERATE2.LS
% #
%
% ratio 2
% ignore X
% seed [X] ++++ [X] ++++ [X]
% rule X -> [+ F X] [- F X]
% rule F -> F F
% leng 256
% delta 30
% x 0
% y 0
% theta 90
% iter 8
% blue .7
% green .7
% red .7
%% FIN du fichier
input tortue;
vardef trace(expr a,b) =
draw a--b withpen pencircle scaled 1pt
withcolor (.7,.7,.7);
enddef;
vardef deplace(expr a,b) =
enddef;
vardef F(expr n,m) =
if m>0:
F(n,m-1);
F(n,m-1);
else:
avance(n,longueur,trace);
fi
enddef;
vardef X(expr n,m) =
if m>0:
blop(n,n+1);
tourne(n+1,30);
F(n+1,m-1);
X(n+1,m-1);
blop(n,n+1);
tourne(n+1,-30);
F(n+1,m-1);
X(n+1,m-1);
fi
enddef;
vardef axiome(expr n,m) =
blop(n,n+1);
X(n+1,m);
tourne(n,30);
tourne(n,30);
tourne(n,30);
tourne(n,30);
blop(n,n+1);
X(n+1,m);
tourne(n,30);
tourne(n,30);
tourne(n,30);
tourne(n,30);
blop(n,n+1);
X(n+1,m);
enddef;
beginfig(1);
longueur = 256 / ( 2 ** 8 );
tortue(1,0,0,90,1);
axiome(1,8);
endfig;
end