Bonjour, voici le code, c'est pour construire une figure fractale --> les oreilles de Mickey :
j'aimerais que la figure sois "pleine" :
Code : Tout sélectionner
//Fractales: Les oreilles de Mickey avec asymptote 1.92
import geometry;
//Taille de l'image
size(10cm,0);
void mickey(path p, pair centre, pair O, int n, pen stylo=black) {
path image, im1, im2;
transform h=scale(1/sqrt(3),centre);
image=h*p;
path oreille1=rotate(-60,O)*image;
path oreille2=rotate(60,O)*image;
draw(oreille1);
draw(oreille2);
if (n>0) {
mickey(oreille1, rotate(-60,O)*centre, rotate(-60,O)*(h*O), n-1,stylo);
mickey(oreille2, rotate(60,O)*centre, rotate(60,O)*(h*O), n-1, stylo);
}
else {
//path oreille1=rotate(-60,O)*image;
//path oreille2=rotate(60,O)*image;
draw(oreille1);
draw(oreille2);
}
}
//Triangles de départ
pair pA,pB,pC,pO,O;
pA=(0,0);
pB=(-1,0);
pC=rotate(60,pB)*pA;
pO=rotate(60,pA)*pB;
O=((pA+2*((pB+pC)/2))/3);
//dot("$A$",pA,N);
//dot("$B$",pB,S);
//dot("$C$",pC,W);
//dot("$O'$",pO,E);
//dot("$O$",O,SW);
//draw(arc(O,pA,pB));
//draw(arc(pO,pA,pB));
path oreille=(arc(O,pA,pB)--arc(pO,1,120,60));
draw(oreille);
//path oreille=bulidcycle(arc(O,pA,pB,CCW),arc(pO,1,120,60,CCW)); //C'Est la le problème
//filldraw(oreille,lightgrey,blue);
//Définition de l'homothétie
real k=(sqrt(3))/3;
pair centre=((O-k*pO)/(1-k));
//dot("$\Omega$",centre,N);
transform h=scale(k,centre);
//Récurssion n=0 pour les oreilles simples
mickey(oreille,centre,O,1,blue);
// Ajout d'un cadre, distant des bords de l'image de 3mm
shipout(bbox(5mm,white));
Pour la figure de départ, qui donne la construction :
Code : Tout sélectionner
//Fractales: Les oreilles de Mickey avec asymptote 1.92
import geometry;
//Taille de l'image
size(10cm,0);
//Triangles de départ
pair pA,pB,pC,pO,O;
pA=(0,0);
pB=(-1,0);
pC=rotate(60,pB)*pA;
pO=rotate(60,pA)*pB;
O=((pA+2*((pB+pC)/2))/3);
dot("$A$",pA,E);
dot("$B$",pB,W);
dot("$C$",pC,N);
dot("$O'$",pO,E);
dot("$O$",O,SW);
triangle TRI1=triangle(pA,pB,pC);
draw(TRI1);
draw(pA--pO--pB);
draw(circumcircle(TRI1));
draw(circle(pO,1));
Voila.
Merci
Maurice
PS : le blue de mickey(oreille,centre,O,1,blue); fait du noir (j'ai essayé avec red, c'est noir aussi, ...)