MetaPost Présentation des sources Retour à la page précédente Archive (source + images) Fichier au format texte pour télécharger Imprimer le document sans le menu !
input tortue.mp; 
numeric d,iter; 

vardef trace(expr a,b) = draw a--b enddef; 

vardef L(expr n,m) = 
if m>0: 
 tourne(n,90); 
 R(n,m-1); 
 avance(n,d,trace); 
 tourne(n,-90); 
 L(n,m-1); 
 avance(n,d,trace); 
 L(n,m-1); 
 tourne(n,-90); 
 avance(n,d,trace); 
 R(n,m-1); 
 tourne(n,90); 
fi 
enddef; 
 
vardef R(expr n,m) = 
if m>0: 
 tourne(n,-90); 
 L(n,m-1); 
 avance(n,d,trace); 
 tourne(n,90); 
 R(n,m-1); 
 avance(n,d,trace); 
 R(n,m-1); 
 tourne(n,90); 
 avance(n,d,trace); 
 L(n,m-1); 
 tourne(n,-90); 
fi 
enddef; 
 
beginfig(1); 
iter := 1; 
d := 8cm; 
tortue(1,0,0,90,1); 
L(1,iter);
endfig;

beginfig(2); 
iter := 2; 
d := 4cm; 
tortue(1,0,0,90,1); 
L(1,iter);
endfig;

beginfig(3); 
iter := 3; 
d := 2cm; 
tortue(1,0,0,90,1); 
L(1,iter);
endfig;

beginfig(4); 
iter := 4; 
d := 1cm; 
tortue(1,0,0,90,1); 
L(1,iter);
endfig;

beginfig(5); 
iter := 5; 
d := .5cm; 
tortue(1,0,0,90,1); 
L(1,iter);
endfig;

beginfig(6); 
iter := 6; 
d := .25cm; 
tortue(1,0,0,90,1); 
L(1,iter);
endfig;

end