turtle库(海龟库)是Python编程的一个函数库,它包含了多种绘图所需的函数。借助turtle库,我们通过Python绘制各种图形。首先我们要调用turtle库。
1 #调用turtle的第一步
2 import turtle
一、画布的设置
1、设置画布窗口的大小,初始位置,背景颜色,我们可以用这两种函数去实现。
#第一种方法:
import turtle #调用turtle库
turtle.setup(窗口宽度,窗口高度,x,y) #(x,y)表示与屏幕左上角(0,0)点的相对的位置,若没有设置则系统将把窗口放在屏幕中间。
#第二种方法:
import turtle #调用turtle库
turtle.screensize(窗口的宽度,窗口的高度,"背景颜色") #背景颜色可以是相应颜色的英文,或者RGB三色组,或RGB颜色代码。
注:窗口的宽度、高度均是以“像素”为单位。
二、画笔的设置以及操作
1、画笔的设置:
(1)画笔的大小(宽度)
1 turtle.pensize(画笔的宽度) #其实很好理解pen是笔,size是大小。
(2)画笔的颜色
turtle.pencolor("画笔颜色")
#画笔颜色参数可以是Purple 或者如160,32,240的RGB颜色三元组 也可以用相应的16色代码#A020F0
(3)画笔的速度
turtle.penseed(画笔速度) #画笔速度的取值在[0,10]之内的整数
2、画笔的操作指令
指令(函数) | 说明(解释) |
(1)turtle.forward(距离长度)或者turtle.fd(距离长度) | 控制海龟向当前方向移动一定的距离(即画笔在当前方向移动一定的距离长度),长度的单位是像素 |
(2)turtle.backward(距离长度) | 向当前画笔相反方向移动一定的距离长度,长度单位是像素 |
(3)turtle.left(角度) | 逆时针转过一定角度 |
(4)turtle.right(角度) | 顺时针转过一定角度 |
(5)turtle.penup() | 将画笔抬起(海龟悬空),与(6)搭配使用 |
(6)turtle.pendown() | 将抬起的画笔放下(海龟着地) |
(7)turtle.goto(x,y) | 将画笔移动到坐标为(x,y)的位置上,可以与(5)(6)搭配使用,也可单独使用 |
(8)turtle.circle(半径,转过角度) | 画圆(不一定要360度,可以用来画弧),半径为正(负),表示圆心在画笔的左边(右边),转过一定角度。 |
(9)turtle.fillcolor(”颜色”) | 绘制图形时填充图形内部的颜色,颜色可以是相应的颜色的英文,RGB三色组,16色代码 |
(10)turtle.color(“颜色1”,“颜色2”) | 同时设置画笔颜色和填充颜色,pencolor=颜色1,fillcolor=颜色2 |
(11)turtle.begin_fill() | 准备开始填充图形的颜色(与(9)(12)形成搭配使用) |
(12)turtle.end_fill() | 结束对绘制的图形的颜色填充 |
(13)turtle.filling() | 返回当前是否在填充状态 |
(14)turtle.hideturtle() | 把海龟藏起来(即把画笔箭头藏起来) |
(15)turtle.showturtle() | 显示海龟(即把隐藏的画笔箭头露出来) |
(16)turtle.seth(角度) | 海龟接下来前进的一定角度(即画笔朝着一定的角度,改变画笔方向但不移动画笔) |
(17)turtle.done() | 绘图的窗口不关闭(画布不关闭) |
(18)setx() | 将当前x轴移动到指定位置 |
(19)sety() | 将当前y轴移动到指定位置 |
(20)setheading(角度) | 设置画笔当前的朝向某一个角度 |
(21)home() | 设置当前画笔位置为原点,朝向东 |
(22)dot(r) | 绘制一个指定直径和颜色的圆点 |
(23)turtle.circle(r,steps=n) | 绘制一个半径为r的圆的一个正n边形 |
三、命令详解(例题分析)
1、五角星的绘制
1 #五角星
2 import turtle #调用turtle库
3 turtle.pensize(3) #设置画笔的宽度
4 turtle.pencolor("yellow") #设置画笔颜色
5 turtle.fillcolor("red") #设置填充颜色
6 turtle.begin_fill() #开始填充
7 for i in range(5): #画五条线
8 turtle.forward(50) #画笔向前移动50像素
9 turtle.right(144) #画笔右转144度
10 turtle.forward(50) #画笔向前移动50像素
11 turtle.left(72) #画笔左转72度
12 turtle.end_fill() #结束填充
13 turtle.hideturtle() #隐藏画笔
14 turtle.done() #结束绘制
2、Python蟒蛇绘制
1 import turtle #引入海龟库
2 turtle.setup(650, 350, 200, 200) #setup(宽,高 , 坐标,坐标)设置
3 #窗体大小及位置
4 turtle.penup() #画笔抬起
5 turtle.fd(-250) #前进-250个像素
6 turtle.pendown() #画笔落下
7 turtle.pensize(25) #改变画笔宽度为25
8 turtle.pencolor("purple") #设置画笔为紫色
9 turtle.seth(-40) #改变海龟方向为绝对40度
10 for i in range(4): #循环4次
11 turtle.circle(40, 80) #改变海龟行进轨迹(40度为半
12 #径,绘制80度)
13 turtle.circle(-40, 80) #改变海龟行进轨迹 (反向40度
14 #为半径,绘制80度)
15 turtle.circle(40, 80/2) #绘制半径为40,角度为40度弧
16 turtle.fd(40) #前进40像素
17 turtle.circle(16, 180) #绘制半径为16的半圆
18 turtle.fd(40 * 2/3) #前进40*2/3像素
19 turtle.done() #绘制图形结束后窗口不关闭
四、绘制图形的展示
1、叠加等边三角形
1 #叠加等边三角形
2 import turtle
3 turtle.setup(600,500,200,200)
4 turtle.pensize(1)
5 for i in range(3):
6 turtle.fd(80)
7 turtle.left(120)
8 turtle.fd(40)
9 turtle.left(120)
10 turtle.fd(40)
11 for i in range (3):
12 turtle.right(120)
13 turtle.fd(40)
2、三角标
1 import turtle
2 turtle.pensize(3)
3 turtle.pencolor("yellow")
4 turtle.fillcolor("red")
5 turtle.begin_fill()
6 for i in range(3):
7 turtle.forward(50)
8 turtle.right(150)
9 turtle.forward(50)
10 turtle.left(30)
11 turtle.end_fill()
12 turtle.hideturtle()
13 turtle.done()