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 !

prologues := 2 ;
defaultfont := "cmr10" ;

beginfig(1)

    def iteration(expr a,b,ra,rb,n) =
        if n = 0 :
        else :
            begingroup
                save t,m,r ;
                numeric t,r ;
                pair m ;
                t := sqrt(ra) + sqrt(rb) ;
                r := ra * rb / (t * t) ;
                m := (sqrt(ra)/t)[a,b] ;
                draw fullcircle scaled (r * 2u) shifted (m + (0,r*u)) ;
                iteration(a,m,ra,r,n-1) ;
                iteration(m,b,r,rb,n-1) ;
            endgroup
        fi
    enddef ;

    u = 10cm ;
    z0 = (0,0) ; z1 = (u,0) ;

    drawarrow (0,0)--(0,6cm) ; label.rt("y",(0,6cm)) ;
    drawarrow (0,0)--(11cm,0) ; label.bot("x",(11cm,0)) ;
    dotlabel.bot("1",z1) ; dotlabel.lrt("0",z0) ;

    draw fullcircle scaled u shifted (0,u/2) ;
    draw fullcircle scaled u shifted (u,u/2) ;

    pickup pencircle scaled 0.1bp ;

    iteration(z0,z1,1/2,1/2,6) ;

    clip currentpicture to (-1cm,-1cm)--(12cm,-1cm)--(12cm,7cm)--(-1cm,7cm)--cycle ;

endfig ;

end