购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 小海龟的作图绝学

2.2.1 小海龟画线段

认识小海龟后,接下来看看小海龟的作图本领吧。先从简单的线段开始,看看小海龟是怎么画线段的。画线段只要小海龟往前走就好了,我们找到控制小海龟往前走的方法就可以。

1 新建文件,单击File→New File,进入程序编辑界面。

编写代码:

代码


import turtle          #导入turtle库
turtle.shape("turtle")    #设置画笔形状为小海龟
turtle.forward(100)        #海龟往前走一段距离

2 将文件另存为turtle_7.py。

3 单击Run→Run Module,运行程序。

4 小海龟在屏幕上画出了一条线段。

小海龟画线段使用的是turtle.forward(distance)方法,这个方法的作用是沿着小海龟朝着的方向,向前移动指定的距离(distance)。

turtle.forward(distance)控制小海龟向前走括号里的距离。如果是100,就走100;如果是500,就走500。

2.2.2 小海龟画正方形

学会了用小海龟画线段,接下来画复杂点的图形——正方形。

在画之前,我们先分析正方形的画法。正方形是由4条相同长度的线段组成的,线段与线段之间的夹角是90度。要画成正方形,就需要每画完一条线段,小海龟都朝着同一个方向旋转90度。

画线段的方法我们已经掌握,只要学会了转弯的方法,就可以轻松地画出正方形。

转弯分为左转弯和右转弯,分别用turtle.left(angle)和turtle.right(angle)来实现。

转弯需要角度,大胆猜测一下方法中括号里填写什么呢?

turtle.left(angle):将小海龟朝左转angle度,如turtle.left(90)就是将小海龟朝左转90度。

我们实验一下让小海龟朝左转90度,步骤如下:

1 新建文件,单击File→New File,进入程序编辑界面,编写如下代码:


import turtle          #导入turtle库
turtle.shape("turtle")    #设置画笔的形状为小海龟
turtle.forward(50)       #海龟向前移动一段距离
turtle.left(90)          #让海龟向左转90度

2 保存文件并单击Run→Run Module,运行程序,可以很明显地看到效果。小海龟画了一条线段,然后朝左转了90度。

turtle.right(angle):将小海龟朝右转angle度,如turtle.right(90)就是将小海龟朝右转90度。

我们实验一下让小海龟朝右转90度,步骤如下:

1 新建文件,单击File→New File,进入程序编辑界面,编写如下代码:

代码


import turtle          #导入turtle库
turtle.shape("turtle")    #设置画笔的形状为小海龟
turtle.forward(50)          #海龟向前移动
turtle.right(90)           #让海龟向右转90度

2 保存文件并单击Run→Run Module,运行程序,可以很明显地看到效果。小海龟画了一条线段,然后朝右转了90度。

学习了小海龟转向的方法,我们开始画正方形。以左上角为起点,先让小海龟往前走一段距离,再让小海龟右转90度。

代码


turtle.forward(120)    #小海龟向前移动一段距离
turtle.right(90)    #让小海龟右转90度

再往前走一段距离,再右转90度。

代码


turtle.forward(120)        #小海龟向前移动一段距离
turtle.right(90)        #让小海龟右转90度

再往前走一段距离,再右转90度。

代码


turtle.forward(120)        #小海龟向前移动一段距离
turtle.right(90)        #让小海龟右转90度

小海龟再往前走一段距离。

代码


turtle.forward(120)        #小海龟向前移动一段距离

正方形就画成了。

步骤如下:

1 新建文件,单击File→New File,进入程序编辑界面,编写如下代码:

代码


import turtle
turtle.shape("turtle")                 
turtle.forward(120)        #小海龟向前移动一段距离
turtle.right(90)        #让小海龟右转90度
turtle.forward(120)        #小海龟向前移动一段距离
turtle.right(90)        #让小海龟右转90度
turtle.forward(120)        #小海龟向前移动一段距离
turtle.right(90)        #让小海龟右转90度
turtle.forward(120)        #小海龟向前移动一段距离

2 保存文件并单击Run→Run Module,运行程序。正方形就画成功了。

2.2.3 小海龟画长方形

我们再来尝试画一个长方形,长方形和正方形有什么不同呢?长方形4条边的长度是不一样的。我们尝试修改一下正方形的代码来画一个长方形。

代码


import turtle                #导入turtle库
turtle.shape("turtle")     #设置画笔的形状为小海龟
turtle.forward(120)        #画笔画长方形的长边
turtle.right(90)        #让小海龟向右转90度
turtle.forward(60)        #画笔画长方形的短边
turtle.right(90)        #让小海龟向右转90度
turtle.forward(120)        #画笔画长方形的长边
turtle.right(90)        #让小海龟向右转90度
turtle.forward(60)        #画笔画长方形的短边

保存文件并单击Run→Run Module,运行文件,长方形就画成功了。

2.2.4 小海龟画小星星

画完正方形和长方形,小海龟要画一个更加复杂的图形——小星星。

画之前我们先分析一下小星星的画法:

·五角星不仅有5个角,还有5条边。

·每画一条线段后都需要旋转一个相同的角度,来画第二条线。

可以分为5步:

1 小海龟先往前画一条线段,旋转一个角度。

2 小海龟再往前画一条线段,旋转一个角度。

3 小海龟再往前画一条线段,旋转一个角度。

4 小海龟再往前画一条线段,旋转一个角度。

5 小海龟再往前画一条线段,就连接上了。

有了思路,新建文件,开始写代码:

代码


import turtle               #导入turtle库
turtle.shape("turtle")     #设置画笔的形状为小海龟
turtle.forward(100)          #小海龟向前移动一段距离
turtle.left(144)             #让小海龟向左转144度
turtle.forward(100)          #小海龟向前移动一段距离
turtle.left(144)        #让小海龟向左转144度
turtle.forward(100)      #小海龟向前移动一段距离
turtle.left(144)          #让小海龟向左转144度
turtle.forward(100)          #小海龟向前移动一段距离
turtle.left(144)              #让小海龟向左转144度
turtle.forward(100)          #小海龟向前移动一段距离

保存文件并单击Run→Run Module,运行程序,小星星就画成功了。

2.2.5 添加背景色

只是画一个五角星还不太好玩,我们来给小星星的画布设置背景颜色吧。

开始之前,我们先认识海龟绘图的画布。画布就是turtle为我们提供绘画的区域。我们可以设置绘画区域的大小和颜色。可以通过turtle.screensize方法进行设置。turtle.screensize方法有3个参数:长、宽、背景颜色。

长和宽控制着画布的大小,也就是方法前面的两个参数。

现在我们需要设置画布的背景颜色为黑色,制作一个漆黑的星空。把第3个参数设置为black(黑色)即可,代码如下:

代码


import turtle   #导入turtle库
turtle.screensize(None,None,"black")
#设置画布的背景色为黑色

保存文件并单击Run→Run Module,运行文件,画布背景颜色变成黑色。

学会了设置背景颜色,我们要将小星星的背景颜色设置为蓝色。修改小星星的代码如下:

代码


import turtle          #导入turtle库
turtle.screensize(None, None,"blue")    
                #设置画布的背景色为蓝色
turtle.shape("turtle")    #设置画布的形状为小海龟
turtle.forward(100)           #小海龟向前移动一段距离
turtle.left(144)              #让小海龟向左转144度
turtle.forward(100)           #小海龟向前移动一段距离
turtle.left(144)              #让小海龟向左转144度
turtle.forward(100)           #小海龟向前移动一段距离
turtle.left(144)              #让小海龟向左转144度
turtle.forward(100)           #小海龟向前移动一段距

保存文件并单击Run→Run Module,运行程序,画布的背景颜色变成天空的颜色。

2.2.6 给小星星上色

背景图已经变成星空的蓝色。现在要把小星星变成闪闪发光的颜色,要怎么办呢?就是给小星星上色,想想有什么方法可以用呢?

方法如下:

首先设置填充颜色。

然后开始填充。

最后填充完毕收工。

turtle.fillcolor(*args):设置绘制图形的填充颜色。如果我们要填充的是黄色,就把黄色填写进去:turtle.fillcolor("yellow")。

turtle.begin_fill():开始填充。

turtle.end_fill():结束填充。

在小星星原有的代码上进行修改,代码如下:

代码


import turtle
turtle.screensize(None, None, "blue")  #设置画布为蓝色
turtle.fillcolor("yellow")#给星星填充黄色
turtle.shape("turtle")    #设置为小海龟造型
turtle.begin_fill()        #开始填充
turtle.forward(100)           #小海龟向前移动一段距离    
turtle.left(144)              #让小海龟向左转144度
turtle.forward(100)           #小海龟向前移动一段距离
turtle.left(144)              #让小海龟向左转144度
turtle.forward(100)           #小海龟向前移动一段距离
turtle.left(144)              #让小海龟向左转144度
turtle.forward(100)           #小海龟向前移动一段距离
turtle.left(144)              #让小海龟向左转144度
turtle.forward(100)       #小海龟向前移动一段距离
turtle.end_fill()        #填充完毕

保存文件并单击Run→Run Module,运行程序,小星星就变成黄色了。

天空中一颗闪耀的小星星就完成了。 6BqBcAltCrn+NI+eIgYkp/SKQOCez/Qg3m4vq/pS9qmbCHp1/meJovvz0sTn2Pjf

点击中间区域
呼出菜单
上一章
目录
下一章
×