input tortue.mp; numeric d,iter,epaisseur; color couleur; vardef trace(expr a,b) = draw a--b withpen pencircle scaled epaisseur withcolor couleur; enddef; vardef L(expr n,m) = save couleur,epaisseur; color couleur; epaisseur := m+1; couleur := (m/10,0,1-(m/10)); 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) = save couleur,epaisseur; color couleur; epaisseur := m+1; couleur := (m/10,0,1-m/10); 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(6); iter := 6; d := .25cm; tortue(1,0,0,90,1); L(1,iter); endfig; end