#*********************************************************** # TRIANGLES DE SIERPINSKI # Tracer le triangle A(-10;0), B(10;0), C(0;10v3). Placer un point M0(x;y) # quelconque dans ce triangle. Pour placer les points Mi suivants : # Tirer un nombre entier a au hasard entre 1 et 3. Si a=1 le point Mi # sera le milieu du segment AMi-1, si a=2 le point Mi sera le milieu du # segment BMi-1, si a=2 le point Mi sera le milieu du segment CMi-1, est # ainsi de suite à l'infini ... SierpAlea <- function(nbsim = 50000, xM = 3, yM = 2){ xA <- -10 ; yA <- 0 ; xB <- 10 ; yB <- 0 ; xC <- 0 ; yC <- 10 * sqrt(3) plot(c(xA, xB, xC), c(yA, yB, yC), asp = 1) lines(c(xA, xB, xC, xA), c(yA, yB, yC, yA)) points(xM, yM, pch = "*") ; x <- xM ; y <- yM for (i in 1:nbsim) { a <- sample(1:3, 1) if (a == 1) { x <- (xA + x) / 2 ; y <- (yA + y) / 2 points(x, y, pch = ".", col = "green") } else { if (a == 2) { x <- (xB + x) / 2 ; y <- (yB + y) / 2 points(x, y, pch = ".", col = "red") } else { x <- (xC + x) / 2 ; y <- (yC + y) / 2 points(x, y, pch = ".", col = "blue") } } } } #***********************************************************