input tortue.mp; input TEX.mp; numeric d,iter; color couleur; vardef trace(expr a,b) = draw a--b withpen pencircle scaled 2pt withcolor couleur enddef; vardef D(expr n,m) = save couleur; color couleur; couleur := blue; if m>0: tourne(n,-45); D(n,m-1); tourne(n,90); E(n,m-1); else: tourne(n,-90); avance(n,d,trace); tourne(n,90); avance(n,d,trace); fi enddef; vardef E(expr n,m) = save couleur; color couleur; couleur := red+green; if m>0: D(n,m-1); tourne(n,-90); E(n,m-1); tourne(n,45); else: avance(n,d,trace); tourne(n,-90); avance(n,d,trace); tourne(n,90); fi enddef;beginfig(1); iter := 9; d := .5cm; tortue(1,0,0,0,1); D(1,iter); for i=1 upto (iter+1): q := floor(2**i); dotlabel.top(TEX("$" & decimal(q) & "$") scaled 2,point q of tortue_p[1]); endfor endfig; end