|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 乘号 于 2020-3-22 15:36 编辑
- 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()
- 原文链接:https://blog.csdn.net/weixin_43943977/article/details/102691392
复制代码 |
评分
-
查看全部评分
|