武大樱花又盛开,用python画一棵樱花树

1,131 阅读2分钟

欢迎关注文章首发公众号:早起python

黑夜可能漫长,但总会迎来温暖的阳光,三月如期而至,武大的樱花又一次盛开。那么今天就一起来看看怎样在python中画一棵美丽的樱花树~




说到用python画画,那当然就是小乌龟Turtle库了,为啥是turtle呢,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

一、安装与引入

安装没有什么难度直接pip安装就可以

pip install turtle

可使用以下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度。


比如绘制树干部分的代码可以这样写


def Tree(branch, t):    time.sleep(0.0005)    if branch > 3:        if 6 <= branch <= 12: #            if random.randint(0, 2) == 0: #随机绘制                t.color('snow') #设置颜色            else:                t.color('lightcoral') # 树叶颜色            t.pensize(branch / 3)        elif branch < 6:            if random.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)。


完整代码可以在早起python公众号内回复樱花获取,那么来看看最后效果吧!