Python | tapete de serpine

| | | | |

Como funciona?
O tapete Sierpinski começa com um quadrado. Este quadrado é dividido em nove partes iguais. O quadrado menor menor é removido do quadrado maior original. Em seguida, os quadrados restantes são novamente divididos em nove partes iguais, e o quadrado mais central de cada quadrado é removido. Quando esse processo é repetido, um belo padrão de tapete Sierpinski é observado.

Suponha que começamos com um quadrado preto.

Divida em 9 partes iguais e retire o quadrado central.

Repetir o processo leva mais adiante para algo assim.

Podemos visualizar esse fenômeno em detalhes neste vídeo .

Vamos ver como é o seu código:


# importe os módulos necessários

import numpy as np

from PIL import Imagem


# número total de repetições do processo

total = 7


# tamanho da imagem

tamanho = 3 * * total


# cria imagem

quadrado = np.empty ([size, size, 3 ], dtype = np.uint8)

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


# preenchendo com preto

square.fill ( 0 )

< br>

para i em intervalo ( 0 , total + 1 ):

stepdown = 3 * * (total - i)

for x em intervalo ( 0 , 3 * * i):

# verificando o quadrado central

if x % 3 = = 1 :

para y em intervalo ( 0 , 3 * * i):

if y % 3 = = 1 :

# altera sua cor

quadrado [y * stepdown: (y + 1 ) * stepdown, x * stepdown: (x + 1 ) * stepdown] = cor


# salva a imagem resultante

save_file = "sierpinski.jpg"

Image.fromarray (quadrado) .save (salvar _file)


# exibe no console

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

i.show()

Saída:

Este é um tapete Sierpinski após 7 repetições. Você pode obter o código para outros idiomas ‚Äã‚Äã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