python 으로 벚꽃 나 무 를 그립 니 다.

4176 단어 python제도 하 다
어두 운 밤 이 길 어 질 지 모 르 지만 따뜻 한 햇빛 이 찾 아 오고 3 월 이 오 면 무 대의 벚꽃 이 다시 핀 다.그럼 오늘 은 python 에 아름 다운 벚꽃 나 무 를 그 리 는 법 을 보 겠 습 니 다~
python 으로 그림 을 그린다 면 당연히 작은 거북이 Turtle 라 이브 러 리 입 니 다.왜 turtle 일 까요?작은 거북 이 를 상상 하고 가로축 이 x 이 고 세로 축 이 y 인 좌표계 원점 입 니 다.(0,0)위치 부터 함수 명령 에 따라 이 평면 좌표계 에서 이동 하여 기어 가 는 경로 에 도형 을 그 렸 습 니 다.
1.설치 와 도입
설치 가 어렵 지 않 아 요.그냥 pip 로 설치 하면 돼 요.

pip install turtle
다음 세 가지 방법 으로 도입 가능:

사용 하 다
turtle 라 이브 러 리 는 사용 하기 도 간단 합 니 다.주로 몇 가지 핵심 적 인 제어 코드 를 이용 합 니 다.

turtle.goto(x,y):     (x,y) ,          ,

turtle.fd(d):     ,    d  。

turtle.bk(d):        ,    d  。

turtle.circle(r,angle): r     angle    。

turtle.penup():  

turtle.pendown():  

urtle.left(angle):    angle 。

turtle.right(angle):    angle 。
예 를 들 어 트 리 부분 을 그 리 는 코드 는 이렇게 쓸 수 있 습 니 다.

def Tree(branch, t):
 time.sleep(0.0005)
 if branch > 3:
  if 6 <= branch <= 12: #
   if random.randint(0, 2) == 0: #    
    t.color('snow') #    
   else:
    t.color('lightcoral') #     
   t.pensize(branch / 3)
  elif branch < 6:
   if random.randint(0, 1) == 0:
    t.color('snow')
   else:
    t.color('lightcoral') #
   t.pensize(branch / 2)
  else:
   t.color('sienna') #  (zhě) 
   t.pensize(branch / 10) # 6
  t.forward(branch)
  a = 1.5 * random.random()
  t.right(20 * a)
  b = 1.5 * random.random()
  Tree(branch - 10 * b, t)
  t.left(40 * a)
  Tree(branch - 10 * b, t)
  t.right(20 * a)
  t.up()
  t.backward(branch)
  t.down()
글 씨 를 쓰 는 부분 은 한 획 한 획 그리 지 않 고 turtle.write()를 사용 하면 지정 한 위치 에 필요 한 글 자 를 쓸 수 있 습 니 다.

write(arg,move=false,align='left',font=('arial',8,'normal'))

#arg--   Turtle       。

#align(  )--“ (left)”、“ (center)” “ (right)”  。

#font(  )--(fontname、fontsize、fonttype)。
그럼 마지막 효과 한번 볼 까요?

전체 원본:

import turtle as T
import random
import time

#       (60,t)
def Tree(branch, t):
  time.sleep(0.0005)
  if branch > 3:
    if 8 <= branch <= 12:
      if random.randint(0, 2) == 0:
        t.color('snow') #  
      else:
        t.color('lightcoral') #     
      t.pensize(branch / 3)
    elif branch < 8:
      if random.randint(0, 1) == 0:
        t.color('snow')
      else:
        t.color('lightcoral') #     
      t.pensize(branch / 2)
    else:
      t.color('sienna') #  (zhě) 
      t.pensize(branch / 10) # 6
    t.forward(branch)
    a = 1.5 * random.random()
    t.right(20 * a)
    b = 1.5 * random.random()
    Tree(branch - 10 * b, t)
    t.left(40 * a)
    Tree(branch - 10 * b, t)
    t.right(20 * a)
    t.up()
    t.backward(branch)
    t.down()

#      
def Petal(m, t):
  for i in range(m):
    a = 200 - 400 * random.random()
    b = 10 - 20 * random.random()
    t.up()
    t.forward(b)
    t.left(90)
    t.forward(a)
    t.down()
    t.color('lightcoral') #     
    t.circle(1)
    t.up()
    t.backward(a)
    t.right(90)
    t.backward(b)

#     
t = T.Turtle()
#     
w = T.Screen()
t.hideturtle() #     
t.getscreen().tracer(5, 0)
w.screensize(bg='wheat') # wheat  
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')

#       
Tree(60, t)
#      
Petal(200, t)
w.exitonclick()
이상 은 python 으로 벚꽃 나 무 를 그 리 는 상세 한 내용 입 니 다.python 그림 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기