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 boxes ;
prologues := 2 ;

vardef miArete(suffix a,b) expr p =
        drawarrow p cutbefore bpath.a cutafter bpath.b ;
        point .5*length p of p
enddef ;

vardef miBoucle@# expr p = miArete(@#,@#) @#.c{curl0}..@#.c+p..{curl0}@#.c enddef ;

def cercle(suffix a,b) = circleit.a() ; a.c = z.b ; enddef ;

beginfig(1)

         interim circmargin := 6bp ;

         z0 = (0,0) ;
         z1 - z0 = z7 - z6 = z8 - z7 = z9 - z8
                         = z10 - z9 = z11 - z10 = z3 - z2 = z5 - z4
                         = (z2 - z1) rotated -60 = (z4 - z1) rotated 60 = (z6 - z3) rotated 60
                         = (14mm,0) ;

         cercle(a)(0) ; cercle(b)(1) ; cercle(c)(2) ; cercle(d)(3) ; cercle(e)(4) ; cercle(f)(5) ;
         cercle(g)(6) ; cercle(h)(7) ; cercle(i)(8) ; cercle(j)(9) ; cercle(k)(10) ; cercle(l)(11) ;

         drawboxed(a,b,c,d,e,f,g,h,i,j,k,l) ;

         interim circmargin := 8bp ;
         circleit.ll(pic l) ; ll.c = z11 ;
         drawboxed(ll) ;

         drawarrow (-1cm,0)--z0 cutafter bpath.a ;

         label.top(btex $\varepsilon$ etex,miArete(a,b) a.c--b.c) ;
         label.ulft(btex $\varepsilon$ etex,miArete(b,c) b.c--c.c) ;
         label.top(btex $a$ etex,miArete(c,d) c.c--d.c) ;
         label.urt(btex $\varepsilon$ etex,miArete(d,g) d.c--g.c) ;
         label.urt(btex $\varepsilon$ etex,miArete(b,e) b.c--e.c) ;
         label.top(btex $b$ etex,miArete(e,f) e.c--f.c) ;
         label.ulft(btex $\varepsilon$ etex,miArete(f,g) f.c--g.c) ;
         label.top(btex $\varepsilon$ etex,miArete(g,h) g.c--h.c) ;
         label.top(btex $\varepsilon$ etex,miArete(h,i) h.c--i.c) ;
         label.top(btex $b$ etex,miArete(i,j) i.c--j.c) ;
         label.top(btex $\varepsilon$ etex,miArete(j,k) j.c--k.c) ;
         label.top(btex $a$ etex,miArete(k,ll) k.c--l.c) ;
         label.top(btex $\varepsilon$ etex,miArete(g,b) g.c{dir72}..b.c) ;
         label.bot(btex $\varepsilon$ etex,miArete(a,h) a.c{down}..h.c) ;

endfig ;

end