Turtle库笔记
1 turtle介绍
1.1 turtle库概述
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
1.2 turtle库原理
海龟在窗体正中心,在画布上游走的轨迹形成绘制的图形,海龟由程序控制,可以变换颜色,改变宽度等等。
2基本概念
2.1画布
画布就是turtle为我们展开用于绘画的区域,我们可以设置它的大小和初始位置。
常用的画布方法有两个:screensize()和setup()
参数分别为画布的宽(单位像素),高,背景颜色
如:
turtle.screensize(800,600,”green”) turtle.screensize() #返回默认大小(400,300)
参数:
width,height:输入宽和高为整数时,表示像素;为小数时,表示占据电脑屏幕的比例
(startx,starty):这一坐标表示矩形窗口在左上角顶点的位置,如果为空,则窗口位于屏幕中心
Setup()设置窗体大小和位置,4个参数后两个可选,setup()表示必须的
如:
turtle.setup(width=0.6,height=0.6) turtle.setup(with=800,height=800,startx=100,starty=100)
2.2画笔
在画布上,默认有一个坐标原点为画布中心的坐标轴, 坐标原点上有一只面朝x轴正方向小乌龟。
这里我们描述小乌龟时使用了两个词语:标原点(位置),面朝x轴正方向(方向),turtle绘图中, 就是使用位置方向描述小乌龟(画笔)的状态。
2.2.1画笔控制函数
画笔操作后一直有效,一般成对出现
Turtle.penup() 抬起画笔,海龟在飞行
Turtle.pendown() 落下画笔,海龟在爬行
Turtle.penside(width) 画笔宽度,海龟的腰围
Turtle.pencolor(color) 画笔颜色,海龟在涂装
其中,pencolor有三种形式:
颜色字符串:
turtle.pencolor(“pink”)
RGB的小数值:
turtle.pencolor(0.63,0.13,0.94)
RGB的元组值:
turtle.pencolor(0.63,0.13,0.94)
2.2.2运动控制函数
控制海龟行进:走直线&走曲线
画笔设置后一直有效,直至下一次重新设置
Turtle.forward(d) 向前进,海龟走直线
d:行进距离,可以为负数
Turtle.circle(r,extent=None) 根据半径r绘制extent角度的弧形
r:默认圆心在海龟左侧r距离的位置
extent:绘制角度,默认是360度整圆
2.2.3方向控制函数
控制海龟面向方向:绝对角度&海龟角度
Turtle.setheading(angle) 改变行进方向,海龟走角度
angle:行进方向的绝对角度
Turtle.left(angle) 海龟向左转
Turtle.right(angle) 海龟向右转
angle:在海龟当前行进方向上旋转的角度
2.3 RGB色彩体系
RGB指红蓝绿三个通道的颜色组合,每色取值范围0-255整数或0-1小数,默认采用小数值,可切换为整数值
Turtle.colormode(mode) 1.0:RGB小数值模式
255:RGB整数值模式
常用RGB色彩:
2.4空间坐标体系
2.5角度坐标体系
3.绘图举例
同心圆绘制
from turtle import * # 设置窗体的大小和位置,参数依次为窗体的宽、高、相对于桌面起始点的横坐标、纵坐标 setup(600,400,500,200) # 画笔颜色 color("red") # 画笔宽度 pensize(3) # 画一个半径为20的圆 circle(20) # 修改画笔宽度 pensize(3) # for循环,用于绘制同心圆 for i in range(1,4): # 画笔抬起(不会在窗体上留下痕迹) penup() # 移动画笔到坐标(0,-10*i) goto(0,-10*i) # 画笔落下(开始在窗体上留下痕迹) pendown() # 在循环中不断绘制半径不同的圆 circle(20+i*10) done()