파이썬 | 서핀 러그

| | | | |

어떻게 작동합니까?
Sierpinski 카펫은 정사각형으로 시작합니다. 이 사각형은 9개의 동일한 부분으로 나뉩니다. 가장 작은 작은 정사각형은 원래의 큰 정사각형에서 제거됩니다. 그런 다음 나머지 사각형을 다시 9개의 동일한 부분으로 나누고 각 사각형에서 가장 중심에 있는 사각형을 제거합니다. 이 과정을 반복하면 아름다운 시에르핀스키 카펫 패턴이 관찰됩니다.

검정색 사각형으로 시작한다고 가정해 보겠습니다.

9등분하여 중앙 사각형을 제거합니다.

이 과정을 반복하면 추가로 이어집니다. 이런 식으로.

동영상 .

코드가 어떻게 생겼는지 살펴보겠습니다.


# 필수 모듈 가져오기

가져오기 numpy as np

PIL 가져오기 이미지


# 총 프로세스 반복 횟수

총계 = 7


# 이미지 크기

크기 = <코드 클래스 = "값"> 3 <코드 클래스 = "키워드"> * <코드 클래스 = "키워드"> * <코드 클래스 = "일반" > 총


# 이미지 생성

정사각형 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> np.empty ([크기, 크기, <코드 클래스 = "값"> 3 <코드 클래스 = "일반">], dtype <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> np.uint8)

색상 = np.array ([ 255 <코드 클래스 = "일반">, <코드 클래스 = "값"> 255 <코드 클래스 = "일반">, <코드 클래스 = "값 "> 255 <코드 클래스 ="일반 ">], dtype <코드 클래스 ="keyw ord"> = <코드 클래스 ="일반 "> np. uint8)


# 검정색으로 채우기

<코드 클래스 = "일반"> square.fill ( <코드 클래스 = "값"> 0 <코드 클래스 = "일반">)

< br>

for i in 범위 ( 0 , 총계 < /코드> <코드 클래스 = "키워드"> + <코드 클래스 = " 값 "> 1 <코드 클래스 ="일반 ">):

스텝다운 = 3 <코드 클래스 = "키워드"> * <코드 클래스 = "키워드 "> * <코드 클래스 ="일반 "> (총 <코드 클래스 ="키워드 "> - i)

for x 범위 ( 0 <코드 클래스 = "일반">, <코드 클래스 = "값"> 3 <코드 클래스 = "키워드"> * <코드 클래스 = "키워드 "> * i):

# 중앙 사각형 확인

if <코드 클래스 ="일반 "> x <코드 클래스 ="키워드 ">% <코드 클래스 = "값"> 3 <코드 클래스 = "키워드"> = <코드 클래스 = "키워드"> = <코드 클래스 = "값"> 1 <코드 클래스 = "일반">:

for y 범위 <코드 클래스 ="일반 "> ( <코드 클래스 = "값"> 0 <코드 클래스 = "일반">, <코드 클래스 = "값"> 3 <코드 클래스 = "키워드"> * <코드 클래스 = "키워드"> * <코드 클래스 = "일반"> i):

if y % 3 <코드 클래스 = "키워드"> = <코드 클래스 = "키워드"> = <코드 클래스 = "값"> 1 :

# 색상 변경

정사각형 [y * 스텝다운: (y + <코드 클래스 = "값"> 1 <코드 클래스 = "일반">) <코드 클래스 = "키워드"> * <코드 클래스 = "일반"> 스텝다운, x <코드 클래스 = "키워드"> * <코드 클래스 = "일반"> 스텝다운: (x <코드 클래스 = "키워드" > + < /코드> <코드 클래스 = "값"> 1 <코드 클래스="일반">) <코드 클래스 ="키워드 "> * <코드 클래스 ="일반 "> 스텝다운] = 색상


# 결과 이미지 저장

save_file = "sierpinski.jpg"

Image.fromarray(정사각형) .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

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