如何利用Python画一棵樱花树

2025-11-22 04:54:02

1、#导入模块

import turtle


import random
from turtle import *
from time import sleep

2、# 画樱花的躯干


def tree(branchLen, t):
   sleep(0.0005)
   if branchLen > 3:
       if 8 <= branchLen <= 12:
           if random.randint(0, 2) == 0:
               t.color('white')  # 白色
           else:
               t.color('lightcoral')  # 淡珊瑚色
           t.pensize(branchLen / 3)
       elif branchLen < 8:
           if random.randint(0, 1) == 0:
               t.color('snow')
           else:
               t.color('lightcoral')  # 淡珊瑚色
           t.pensize(branchLen / 2)
       else:
           t.color('peru')  # 褐色
           t.pensize(branchLen / 10)  # 6
       t.forward(branchLen)
       a = 1.5 * random.random()
       t.right(20 * a)
       b = 1.5 * random.random()
       tree(branchLen - 10 * b, t)
       t.left(40 * a)
       tree(branchLen - 10 * b, t)
       t.right(20 * a)
       t.up()
       t.backward(branchLen)
       t.down()

3、# 掉落的花瓣


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('lightpink')  # 粉色
       t.circle(1)
       t.up()
       t.backward(a)
       t.right(90)
       t.backward(b)

4、def main():


   # 绘图区域
   t = turtle.Turtle()
   # 画布大小
   w = turtle.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)
   t = turtle.getscreen()
   t.getcanvas().postscript(file="tree.eps")
   w.exitonclick()
main()
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢