用python绘制樱花树
黑夜可能漫长,但总会迎来温暖的阳光,三月如期而至,武大的樱花又一次盛开。那么今天就一起来看看怎样在python中画一棵美丽的樱花树~
说到用python画画,那当然就是小乌龟Turtle库了,为啥是turtle呢,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
一、安装与引入
安装没有什么难度直接pip安装就可以
pipinstallturtle
可使用以下3种方法引入:
二、使用
turtle库使用起来也很简单,主要就是利用几个核心的控制代码
turtle.goto(x,y):直接跳转到(x,y)点,以绘图窗口中心为原点, turtle.fd(d):以当前方向,往前行进d像素。 turtle.bk(d):保持当前方向不变,往后退行d像素。 turtle.circle(r,angle):以r为半径圆的angle角度旋转。 turtle.penup():抬笔 turtle.pendown():落笔 urtle.left(angle):向左旋转angle度。 turtle.right(angle):向右旋转angle度。
比如绘制树干部分的代码可以这样写
defTree(branch,t):
time.sleep(0.0005)
ifbranch>3:
if6<=branch<=12:#
ifrandom.randint(0,2)==0:#随机绘制
t.color('snow')#设置颜色
else:
t.color('lightcoral')#树叶颜色
t.pensize(branch/3)
elifbranch<6:
ifrandom.randint(0,1)==0:
t.color('snow')
else:
t.color('lightcoral')#
t.pensize(branch/2)
else:
t.color('sienna')#赭(zhě)色
t.pensize(branch/10)#6
t.forward(branch)
a=1.5*random.random()
t.right(20*a)
b=1.5*random.random()
Tree(branch-10*b,t)
t.left(40*a)
Tree(branch-10*b,t)
t.right(20*a)
t.up()
t.backward(branch)
t.down()
而写字的部分就不用一笔一划的去绘制,直接使用turtle.write()就可以在指定位置写上你需要的文字。
write(arg,move=false,align='left',font=('arial',8,'normal'))
#arg--将写入Turtle绘画屏幕的文字。
#align(可选)--“左(left)”、“中(center)”或“右(right)”之一。
#font(可选)--(fontname、fontsize、fonttype)。
那么来看看最后效果吧!
完整源码:
importturtleasT
importrandom
importtime
#画樱花的躯干(60,t)
defTree(branch,t):
time.sleep(0.0005)
ifbranch>3:
if8<=branch<=12:
ifrandom.randint(0,2)==0:
t.color('snow')#白
else:
t.color('lightcoral')#淡珊瑚色
t.pensize(branch/3)
elifbranch<8:
ifrandom.randint(0,1)==0:
t.color('snow')
else:
t.color('lightcoral')#淡珊瑚色
t.pensize(branch/2)
else:
t.color('sienna')#赭(zhě)色
t.pensize(branch/10)#6
t.forward(branch)
a=1.5*random.random()
t.right(20*a)
b=1.5*random.random()
Tree(branch-10*b,t)
t.left(40*a)
Tree(branch-10*b,t)
t.right(20*a)
t.up()
t.backward(branch)
t.down()
#掉落的花瓣
defPetal(m,t):
foriinrange(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('lightcoral')#淡珊瑚色
t.circle(1)
t.up()
t.backward(a)
t.right(90)
t.backward(b)
#绘图区域
t=T.Turtle()
#画布大小
w=T.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)
w.exitonclick()
以上就是用python绘制樱花树的详细内容,更多关于python绘图的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。