Pitone | Tappeto Serpino

| | | | |

Come funziona?
Il tappeto Sierpinski inizia con un quadrato. Questo quadrato è diviso in nove parti uguali. Il quadrato più piccolo più piccolo viene rimosso dal quadrato più grande originale. Quindi i quadrati rimanenti vengono nuovamente divisi in nove parti uguali e il quadrato più centrale di ciascun quadrato viene rimosso. Quando questo processo viene ripetuto, si osserva un bellissimo motivo del tappeto Sierpinski.

Supponiamo di iniziare con un quadrato nero.

Dividilo in 9 parti uguali e rimuovi il quadrato centrale.

Ripetendo il processo si ottengono ulteriori a qualcosa del genere.

Possiamo visualizzare questo fenomeno in dettaglio in questo video .

Vediamo come appare il suo codice:


# import moduli richiesti

import numpy as np

from PIL import Immagine


# numero totale di ripetizioni del processo

totale = 7


# dimensione dell`immagine

dimensione = 3 * * totale


# crea immagine

square = np.empty ([dimensione, dimensione, 3 ], dtype = np.uint8)

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


# riempiendolo di nero

square.fill ( 0 )

< br>

for i in intervallo ( 0 , totale + 1 ):

stepdown = 3 code> * * (totale - i)

for x in intervallo ( 0 , 3 * * i):

# spuntando il quadrato centrale

if x % 3 = = 1 :

per y in intervallo code> ( 0 , 3 * * i):

if y % 3 = = 1 :

# cambia colore

quadrato [y * stepdown: (y + 1 ) * stepdown, x * stepdown: (x + 1 ) * stepdown] = color


# salva l`immagine risultante

save_file = "sierpinski.jpg"

Image.fromarray (quadrato) .save (salva _file)


# visualizzalo nella console

i = Immagine. open ( " sierpinski.jpg " )

i.show ()

Output:

Questo è un tappeto Sierpinski dopo 7 ripetizioni. Puoi ottenere il suo codice per altre lingue ‚Äã‚Äãat rosettacode .

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method