蟒蛇 |蛇紋地毯

| | | | |

它是如何工作的?
謝爾賓斯基地毯以正方形開頭。這個正方形被分成九等份。最小的小方格從原來的大方格中刪除。然後將剩餘的方格再次分成九等份,並從每個方格中移除最中心的方格。當重複這個過程時,會觀察到漂亮的謝爾賓斯基地毯圖案。

假設我們從黑色方塊開始。

把它分成9等份,去掉中間的正方形。

重複這個過程進一步導致像這樣。

我們可以在這個 video

讓我們看看它的代碼是什麼樣子的:


# 導入需要的模塊

import numpy as np

from PIL import Image


# 進程重複總數

總數 = 7


# 圖片尺寸

size = 3 * * 總計


# 創建圖片

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

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


# 用黑色填充

square.fill ( 0 )

< br>

for i in range ( 0 , total + 1 ):

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

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

# 檢查中心方塊

if x % 3 = = 1 :

for y in 範圍 code> ( 0 , 3 * * i):

if y % 3 = = 1 :

#改變你的顏色

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


# 保存生成的圖像

save_file = "sierpinski.jpg"

Image.fromarray (square) .save (save _file)


# 在控制台顯示

i = 圖片。 打開 ( "sierpinski.jpg" )

i.show()

輸出:

這是7次重複後的謝爾賓斯基地毯。您可以在 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


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