黑夜可能漫长,但总会迎来温暖的阳光,三月如期而至,武大的樱花又一次盛开。那么今天就一起来看看怎样在python中画一棵美丽的樱花树~
说到用python画画,那当然就是小乌龟Turtle库了,为啥是turtle呢,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
一、安装与引入
安装没有什么难度直接pip安装就可以
1
|
pip install turtle
|
可使用以下3种方法引入:
二、使用
turtle库使用起来也很简单,主要就是利用几个核心的控制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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度。
|
比如绘制树*分的代码可以这样写
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
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()就可以在指定位置写上你需要的文字。
1
2
3
4
5
6
7
|
write(arg,move = false,align = 'left' ,font = ( 'arial' , 8 , 'normal' ))
#arg--将写入Turtle绘画屏幕的文字。
#align(可选)--“左(left)”、“中(center)”或“右(right)”之一。
#font(可选)--(fontname、fontsize、fonttype)。
|
那么来看看最后效果吧!
以上就是用python绘制樱花树的详细内容,更多关于python绘图的资料请关注服务器之家其它相关文章!
原文链接:https://cloud.tencent.com/developer/article/1618631