개발 꿀팁/PYTHON

[파이썬 럭키풀 그리기] 만나는 사람마다 행운 O(__))O 만나는 사람마다 행운

Jammie 2022. 11. 21. 13:55
반응형

네 잎 클로버라고도 하는 행운의 풀은 일반적으로 네 잎 클로버 또는 클로버를 말합니다.10만 그루의 알팔파 중 1개만 클로버로 발견될 수 있으며 기회 비율은 약 10만 분의 1입니다.그래서 클로버는 국제적으로 행운의 상징으로 인정받고 있습니다.이 기사에서는 주로 turtle 라이브러리 제어 함수를 사용하여 네 잎 클로버를 그리는 것을 소개하며 보는 사람마다 행운이 있기를 바라며 모두의 삶이 행복하고 건강하기를 기원합니다

코드 상세
  
파이썬이 행운의 풀을 그리는 원리는 터틀 라이브러리를 사용하여 잎과 막대기를 차례로 그리는 것입니다.
  

1 가져오기
  
먼저 본문에서 로드해야 하는 라이브러리를 가져오고, 일부 라이브러리가 설치되지 않아 실행 코드가 잘못되면 아나콘다 프롬프트에서 pip 방법으로 설치할 수 있습니다

# -*- coding: UTF-8 -*-
'''
import os
import pygame
import turtle as t 
from time import sleep

이 논문은 os, pygame, turtle 및 time의 4개 라이브러리만 사용하여 더 적은 라이브러리를 적용합니다.

os 라이브러리는 파일을 읽을 위치를 설정할 수 있습니다.

pygame 라이브러리는 그리기 과정을 더 재미있게 하기 위해 그리기 과정에 배경음악을 추가했습니다.

터틀 라이브러리는 그림 라이브러리로, 캔버스에 수학적 논리 제어 코드로 그림을 완성할 수 있는 브러시를 주는 것과 같습니다.

time 라이브러리는 시간 관리 라이브러리이며, 이 기사에서는 도면의 일시 중지 시간을 설정하는 데 사용됩니다.

  

2 음악 재생
  
이어서 pygame 라이브러리를 사용하여 배경음악을 재생합니다.

#음악을 틀다
print('음악 재생')
pygame.mixer.init( )
pygame.mixer.music.load(r"F:
pygame.mixer.music.set_volume(0.5)
pygame.mixer.music.play(1, 10)

3 네잎클로버를 그리는 함수 정의
  
그런 다음 아트보드의 크기를 설정하고 네잎클로버를 그리는 함수를 정의합니다

t.title
t.speed(10)
#t.screensize(1000, 800)
t.setup(startx=0, starty=0, width=800, height=600)
def write_4_lev_clover(x, y):
t.penup( )
t.goto(x, y)
t.pendown( )
#t.color('#FFCC00')
t.pensize(1)
t.color('green')
t.begin_fill( )
print('첫 번째 잎을 그리다')
#첫잎
t.setheading(90)
t.forward(5)
t.setheading(60)
t.circle(60, 20)
t.circle(12, 180)
t.setheading(140)
t.circle(12, 180)
t.circle(60, 25)
t.setheading(110)
t.forward(-4)
print('두 번째 잎을 그리다')
#두 번째 잎
t.setheading(170)
t.forward(5)
t.setheading(150)
t.circle(60, 20)
t.circle(12, 180)
t.setheading(230)
t.circle(12, 180)
t.circle(60, 26)
t.setheading(200)
t.forward(-5)
print('화봉')
#화봉
t.setheading(250)
t.circle(-120, 45)
t.setheading(-70)
t.forward(6)
t.setheading(29)
t.circle(140, 40)
print('세 번째 잎을 그리다')
#세 번째 잎사귀 그리기
t.setheading(270)
t.forward(5)
t.setheading(240)
t.circle(60, 20)
t.circle(12, 180)
t.setheading(320)
t.circle(12, 180)
t.circle(60, 26)
t.setheading(290)
t.forward(-4)
print('네 번째 잎을 그리다')
#네 번째 잎
t.setheading(5)
t.forward(5)
t.setheading(330)
t.circle(60, 20)
t.circle(12, 180)
t.setheading(40)
t.circle(13, 180)
t.left(5)
t.circle(53, 35)
t.setheading(20)
t.forward(-5)
t.end_fill( )

키코드 상세:

t.pensize(width): 브러시의 크기를 설정합니다.

t.color(color): 브러시의 색상을 설정합니다.

t.penup(): 브러시를 들어 올립니다. 일반적으로 다른 곳에서 그림을 그릴 때 사용합니다.

t.goto(x,y): 브러시가 특정 위치로 이동하고 매개변수는 (x,y)이며, 이는 오는 가로 및 세로 좌표에 해당합니다.

t.pendown(): 브러시를 내려놓고 일반적으로 penup과 조합하여 사용합니다.

t.left(degree) : 붓을 왼쪽으로 몇 도 돌렸는지, 괄호 안에 도수를 나타낸다.

t.right(degree) : 붓을 오른쪽으로 몇 도 돌리면 괄호 안에 도수를 나타낸다.

t.circle(radius, extent, steps): radius는 반지름을 말하며 양수이면 반지름이 작은 거북이의 왼쪽 radius에서 멀고 음수이면 반지름이 작은 거북이의 오른쪽 radius에서 멀고 extent는 호를 가리키며 steps는 차수를 나타냅니다.
  
외부 윤곽의 핵심은 서클 함수의 반지름과 호를 조정하여 곡선의 호를 조정하여 클로버의 윤곽을 매끄럽게 만드는 것입니다.

  

4 함수 호출로 네잎클로버 그리기

그런 다음 네잎클로버의 시작 위치에 대한 가로 및 세로 좌표를 입력하여 그림을 완성합니다

write_4_lev_clover(0, 200)
write_4_lev_clover(0, -200)
write_4_lev_clover(200, 0)
write_4_lev_clover(-200, 0)
write_4_lev_clover(0, 0)

write_4_lev_clover(0, 200)는 가로축이 0이고 세로축이 200인 곳에서 클로버를 그리기 시작함을 나타내며, 뒤의 함수는 같은 이치로 알 수 있다.

  

5 글자를 쓸 함수 설정
  
마지막으로 지정된 위치에 문자를 쓰는 함수를 정의하고 문자를 추가합니다

def write_1(x, y, size, ss):
t. hideturtle( )
t.penup( )
t.goto(x, y)
t.pendown( )
t.pensize(30)
t.pencolor('green')
t.write(ss, font=('YouYuan', size, 'normal'))
def write_text():
write_1(-35, 135, 10, '행')
write_1(-20, 140, 10, '복')
write_1(47, 118, 10, '빨리')
write_1(52, 102, 10, '락')
write_1(13, 36, 10, '순')
write_1(29, 40, 10, '수')
write_1(-59, 78, 10, '안')
write_1(-55, 62, 10, '캉')
write_text( )
write_text( )

write_1(x, y, size, ss)에서 x는 가로좌표, y는 세로좌표, size는 글자의 크기, ss는 쓰고 싶은 글자를 나타낸다

 

반응형