2025年3月24日 星期一 甲辰(龙)年 月廿三 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

Python画各种樱花

时间:03-25来源:作者:点击数:40

动态生成樱花

  • 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()

樱花飘落效果

  • 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()

暗色效果樱花

  • 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 / 4)
  • forward(l)
  • if n > 0:
  • b = random() * 15 + 10
  • c = random() * 15 + 10
  • d = l * (random() * 0.35 + 0.6)
  • 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, n)
  • circle(2)
  • left(90)
  • pu()
  • backward(l)
  • bgcolor(0.5, 0.5, 0.5)
  • ht()
  • speed(0)
  • tracer(0, 0)
  • left(90)
  • pu()
  • backward(300)
  • tree(13, 100)
  • done()
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门