J'ai eu envie de mettre un peu d'aléatoire dans la construction du flocon (1 fois en haut, une fois en bas) :
Code : Tout sélectionner
size(8cm,0);
void koch(pair A, pair B, int n,int i, pen stylo=black) {
pair C;
if (i==0) {
C=rotate(120, point(A--B,1/3))*A;
}
else C=rotate(-120, point(A--B,1/3))*A;
if (n>0) {
koch(A,point(A--B,1/3),n-1,floor(2*unitrand()),stylo);
koch(point(A--B,1/3),C,n-1,floor(2*unitrand()),stylo);
koch(C,point(A--B,2/3),n-1,floor(2*unitrand()),stylo);
koch(point(A--B,2/3),B,n-1,floor(2*unitrand()),stylo);
}
else draw(A--point(A--B,1/3)--C--point(A--B,2/3)--B,stylo);
}
pair z0=(0,0);
pair z1=(1,0);
pair z2=(0,-1);
pair z3=(1,-1);
koch(z1,z0,1,floor(2*unitrand()),red);
koch(z2,z3,1,floor(2*unitrand()),blue);
A chaque compilation, j'obtient la même figure, ce qui n'est pas trop normal pour une construction aléatoire ...
Je ne vois pas où est le problème !
Maurice