鱼C论坛

 找回密码
 立即注册
查看: 1272|回复: 0

[作品展示] turtle画分形树,随机树,每次运行均不相同

[复制链接]
发表于 2019-5-4 15:03:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x


  1. import turtle
  2. import random

  3. def tree(n):
  4.     jiaodu = random.randrange(5, 40, 5) # 随机树枝角度
  5.     lr = random.randrange(75, 90, 10)/100 # 随机树枝长度递减比例
  6.     lsize1 = random.randrange(2, 4, 1) # 随机树叶大小
  7.     cuxi = random.randrange(7, 9, 1)/10 # 随机树枝粗细递减大小
  8.     turtle.pensize(n / 15 * cuxi) # 画笔大小
  9.     if n > 20:
  10. # 右边树
  11.         turtle.forward(n)
  12.         turtle.right(jiaodu)
  13.         tree(n*lr)
  14. # 左边树
  15.         turtle.left(jiaodu*2)
  16.         tree(n*lr)
  17. # 返回
  18.         turtle.right(jiaodu)
  19.         turtle.backward(n)
  20. # 树叶
  21.     else :
  22.         turtle.pensize(1)
  23.         turtle.fillcolor("limegreen")
  24.         turtle.pencolor("green")
  25.         turtle.begin_fill()
  26.         turtle.circle(lsize1)
  27.         turtle.end_fill()
  28. # 树枝颜色
  29.     if n > 15 :
  30.         turtle.pencolor("chocolate")
  31. # 落叶
  32. def luoye(midu):
  33.     turtle.fillcolor("limegreen")
  34.     turtle.pencolor("green")

  35.     for i in range(50):
  36.         lsize2 = random.randrange(2, 5, 1)  # 随机落叶大小
  37.         lx =   random.randrange(-400, 400, midu)  # 随机落叶x坐标
  38.         ly =  random.randrange(-220, -180, midu)   # 随机落叶x坐标
  39.         turtle.penup()
  40.         turtle.goto(lx, ly)
  41.         turtle.pendown()
  42.         turtle.begin_fill()
  43.         turtle.circle(lsize2)
  44.         turtle.end_fill()

  45. def main():

  46.     turtle.left(90)
  47.     turtle.penup()
  48.     turtle.backward(200)
  49.     turtle.pendown()
  50.     turtle.speed(0)
  51.     turtle.pencolor("chocolate")
  52.     tree(100)
  53.     luoye(10)
  54.     turtle.exitonclick()

  55. if __name__ == '__main__':
  56.     main()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-11 03:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表