Python | Tapis Serpino

Comment ça marche ?
Le tapis Sierpinski commence par un carré. Ce carré est divisé en neuf parties égales. Le plus petit petit carré est supprimé du plus grand carré d`origine. Ensuite, les carrés restants sont à nouveau divisés en neuf parties égales et le carré le plus central de chaque carré est supprimé. Lorsque ce processus est répété, un beau motif de tapis de Sierpinski est observé.

Supposons que nous commencions avec un carré noir.

Divisez-le en 9 parties égales et retirez le carré central.

Répéter le processus conduit davantage à quelque chose comme ça.

Nous pouvons visualiser ce phénomène en détail dans ce vidéo .

Voyons à quoi ressemble son code :


# importer les modules requis

importer numpy as np

from PIL import Image


# nombre total de répétitions de processus

total = 7


# taille de l`image

taille = 3 * * total


# créer une image

carré = np.empty ([taille, taille, 3 ], dtype = np.uint8)

couleur = np.array ([ 255 , 255 , 255 ], dtype = np. uint8)


# remplir ceci avec du noir

carré.fill ( 0 )

< br>

pour i dans plage ( 0 , total + 1 ) :

stepdown = 3 * * (total - i)

for x dans range ( 0 , 3 * * i) :

# vérification du carré central

if x % 3 = = 1  :

pour y dans plage ( 0 , 3 * * i) :

si y % 3 = = 1  :

# change ta couleur

carré [y * stepdown : (y + 1 ) * stepdown, x * stepdown : (x + 1 ) * stepdown] = couleur


# enregistrer l`image résultante

save_file = "sierpinski.jpg"

Image.fromarray (carré) .save (sauver _file)


# l`afficher dans la console

i = Image. ouvrir ( " sierpinski.jpg " )

i.show()

Sortie :

Il s`agit d`un tapis Sierpinski après 7 répétitions. Vous pouvez obtenir son code pour d`autres langues ‚Äã‚Äãat rosettacode .