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