用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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。