一.什么是turtle?
-
turtle是一个Python库的一个标准库,用于绘制图形和进行简单的图形编程。它提供了一组命令,可以控制一个虚拟的“海龟”画笔,通过移动和旋转来绘制图形。
-
使用这个库我们要在脑中有一个坐标图,我们可以想象一张白纸,白纸的正中心的坐标为(0,0)然后我们就可以跟据坐标位置进行画图。
二.turtle的一些常用函数
1.setup(width,height,startx,starty)
创建一个窗口,该窗口的大小和出现在显示屏中的位置都是可以进行设置的
2.goto(x,y)
一般用来移动画笔的位置,比如goto(1,3),就可以从(0,0)移动到(1,3)的位置
3.penup()
简单来说就是“抬笔”,当你进行完penup()操作后,你还想在画布中进行一些绘画操作时,画布是不会出现相应的操作,该函数一般与pendown()一起使用
4.pendown()
“放笔”使用完该函数后在进行绘画操作时,画布才会有相应的显示
5.circle(r,角度)
这是个画圆的函数,比如想画一个半径为5的圆:circle(5,360)
6.forward()
可以使画笔前后移动,比如forward(10),表示向前移动10
7.seth(角度)
用来调整画笔的方向(x轴的正方向为0度),比如seth(90)画笔的方向就会从X轴的正方向指向y轴的正方向。角度的值也可以为负
8.pencolor()
设置画笔的颜色,比如pencolor(“yellow”)或pencolor(255,255,0)都表示将画笔设置为黄色
9.pensize()
调整画笔的粗细
10.fillcolor()
设置填充颜色与pencolor的设置方法一样
11.begin_fill()和end_fill()
begin_fill()表示起始填充的位置,end_fill()表示结束的位置
fillcolor("yellow")
begin_fill()
......
end_fill()
这段代码表示填充"......"所画的图形
12.hideturtle()
当我们画图结束后屏幕上还是会有一个“箭头”一样的东西,这个其实就是我们的画笔,但是为了美观,我们就可在代码的最后使用hideturtle()来隐藏这个箭头
三.用turtle画一个笑脸
我们可以把这个笑脸分成三个部分进行绘画:脸,眉毛,嘴巴。
1.首先是脸的部分:
import turtle as t
#脸
1.t.setup(800,800,220,200)
2.t.pensize(1)
3.t.pencolor("yellow")
4.t.fillcolor("yellow")
5.t.begin_fill()
6.t.circle(150)
7.t.home
8.t.end_fill()
这里我给每行代码都标了序号方便进行讲解,1-3行是对窗口,画笔大小,画笔颜色进行了一个设置,第6行就是画一个圆,这里我只设置了半径没有设置角度,所以默认的角度为360°。因为我们还要对这个圆进行填充,所以我将它写在了第5行和第8行之间。这里用了一个我前面没有提到过的函数home()它的作用其实就是让画笔回到坐标为(0,0)的中心位置。
运行结果如图:
接着我们再来画它的眉毛:
#眉毛
1.t.pencolor("black")
2.t.pensize(10)
3.t.penup()
4.t.goto(-25,160)
5.t.pendown()
6.t.seth(90)
7.t.circle(50,180)
8.t.penup()
9.t.goto(25,160)
10.t.pendown()
11.t.circle(50,-180)
其实画眉毛和画圆用的都是circle()函数,只要找到了相应的坐标就可以了,至于这个坐标只有自己不断地调试才行。第1,2行代码就是对画笔的一个基础设置,由于我们画完脸后画笔的位置在(0,0),为了让画笔移动到画眉毛的位置上,我先是用了第3行的函数将画笔“抬起”,再用第4行的函数移动到(-25,160)的位置,这样在移动的过程中就不会留下“痕迹”。第5到7行代码就是用来画左边眉毛的,第8到11行就是移动到右边画右边眉毛。
运行结果如图:
最后我们来画它的嘴巴:
#嘴巴
1.t.fillcolor("brown")
2.t.penup()
3.t.begin_fill()
4.t.goto(75,120)
5.t.pendown()
6.t.goto(-75,120)
7.t.circle(-75,-180)
8.t.end_fill()
9.t.hideturtle()
如果你已经理解了前面的两段代码那么画嘴巴的代码,你就一定可以理解了,这里我就不在过多的阐述了,我们直接来看最后的结果吧
这就是最后我们用turtle库画出的一个笑脸,如果你已经掌握了,可以尝试画一个属于自己的表情。
完整代代码我就放在这了
import turtle as t
#脸
t.setup(800,800,220,200)
t.pensize(1)
t.pencolor("yellow")
t.fillcolor("yellow")
t.begin_fill()
t.circle(150)
t.home
t.end_fill()
#眉毛
t.pencolor("black")
t.pensize(10)
t.penup()
t.goto(-25,160)
t.pendown()
t.seth(90)
t.circle(50,180)
t.penup()
t.goto(25,160)
t.pendown()
t.circle(50,-180)
#嘴巴
t.fillcolor("brown")
t.penup()
t.begin_fill()
t.goto(75,120)
t.pendown()
t.goto(-75,120)
t.circle(-75,-180)
t.end_fill()
t.hideturtle()
t.done()