发布于2020-02-25 14:33 阅读(2331) 评论(0) 点赞(0) 收藏(3)
Python的turtle库绘图-樱花动态飘落
loading......
(o゜▽゜)o☆[BINGO!]
- # *===================================*
- # -*- coding: utf-8 -*-
- # * Time : 2020-02-24 19:01
- # * Author : zhangsf
- # *===================================*
- from turtle import *
- from random import *
- from math import *
-
-
- def tree(n, l):
- pd() # 下笔
- # 阴影效果
- t = cos(radians(heading() + 45)) / 8 + 0.25
- pencolor(t, t, t)
- pensize(n / 3)
- forward(l) # 画树枝
-
- if n > 0:
- b = random() * 15 + 10 # 右分支偏转角度
- c = random() * 15 + 10 # 左分支偏转角度
- d = l * (random() * 0.25 + 0.7) # 下一个分支的长度
- # 右转一定角度,画右分支
- right(b)
- tree(n - 1, d)
- # 左转一定角度,画左分支
- left(b + c)
- tree(n - 1, d)
- # 转回来
- right(c)
- else:
- # 画叶子
- right(90)
- n = cos(radians(heading() - 45)) / 4 + 0.5
- pencolor(n, n * 0.8, n * 0.8)
- circle(3)
- left(90)
- # 添加0.3倍的飘落叶子
- if (random() > 0.7):
- pu()
- # 飘落
- t = heading()
- an = -40 + random() * 40
- setheading(an)
- dis = int(800 * random() * 0.5 + 400 * random() * 0.3 + 200 * random() * 0.2)
- forward(dis)
- setheading(t)
- # 画叶子
- pd()
- right(90)
- n = cos(radians(heading() - 45)) / 4 + 0.5
- pencolor(n * 0.5 + 0.5, 0.4 + n * 0.4, 0.4 + n * 0.4)
- circle(2)
- left(90)
- pu()
- # 返回
- t = heading()
- setheading(an)
- backward(dis)
- setheading(t)
- pu()
- backward(l) # 退回
-
-
- bgcolor(0.5, 0.5, 0.5) # 背景色
- ht() # 隐藏turtle
- speed(0) # 速度 1-10渐进,0 最快
- tracer(0, 0)
- pu() # 抬笔
- backward(100)
- left(90) # 左转90度
- pu() # 抬笔
- backward(300) # 后退300
- tree(12, 100) # 递归7层
- done()
作者:what
链接:https://www.pythonheidong.com/blog/article/233344/0851a2e38e846e6c24fb/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!