La Alfombra de Sierpinski es una curva fractal plana, es decir, una curva que es homeomorfa a un subespacio del plano. Fue descrito por primera vez por Waclaw Sierpinski en 1916. En este tipo de fractales, una forma se divide en una copia más pequeña de sí misma, eliminando algunas de las nuevas copias y dejando las copias restantes en un orden específico para formar nuevas formas de fractales.
¿Cómo está construido?
La alfombra Sierpinski comienza con un cuadrado. Este cuadrado se divide en nueve partes iguales. El cuadrado más pequeño del centro se elimina del cuadrado más grande original. Las piezas cuadradas restantes se dividen nuevamente en nueve partes iguales y se elimina el cuadrado más central de cada cuadrado. Al repetir este proceso, se observa un hermoso patrón de Alfombra Sierpinski.
Supongamos que comenzamos con un cuadrado negro.
Lo dividimos en 9 partes iguales y quitamos el cuadrado central.
Al repetir más el proceso, da como resultado algo como esto.
Podemos visualizar este fenómeno en detalle en este video .
Veamos cómo se ve su código:
# importing necessary modules import numpy as np from PIL import Image # total number of times the process will be repeated total = 7 # size of the image size = 3**total # creating an image square = np.empty([size, size, 3], dtype = np.uint8) color = np.array([255, 255, 255], dtype = np.uint8) # filling it black square.fill(0) for i in range(0, total + 1): stepdown = 3**(total - i) for x in range(0, 3**i): # checking for the centremost square if x % 3 == 1: for y in range(0, 3**i): if y % 3 == 1: # changing its color square[y * stepdown:(y + 1)*stepdown, x * stepdown:(x + 1)*stepdown] = color # saving the image produced save_file = "sierpinski.jpg" Image.fromarray(square).save(save_file) # displaying it in console i = Image.open("sierpinski.jpg") i.show()
Producción :
Esta es la Alfombra de Sierpinski después de 7 repeticiones. Puede obtener su código para otros idiomas en rosettacode .
Publicación traducida automáticamente
Artículo escrito por Pulkit_Singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA