关于Turtle库的学习笔记
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()