python几何图形turtle库
默认初始位置在画布的正中心
turtle库画图的平面被称为画布(canvas),原点(0,0)在画布的正中央,即1/2画布高、1/2画布宽的位置。
坐标(x,y)的单位是像素。这个单位与液晶显示屏的尺寸及分辨率有关。屏幕越大,分辨率越小,像素代表的实际尺寸越大。
goto()
移动画笔函数
goto(50,-100)
dot()
画点函数
dot(5,“green”)就是画一个直径为5的绿点
点的直径的默认大小是max(画笔宽度+4,2×画笔宽度),颜色是黑色。
penup()和pendown()
抬笔函数、落笔函数
随机数
用random库。
randint()函数用于随机生成一个指定范围内的整数。
如randint(a,b)生成[a,b]之间包括a和b的整数,其中a≤b
默认画布的长为400像素,高为300像素。
setheading()和forward()
设置画笔朝向的函数是setheading(),参数为画笔的角度。
角度是以横轴正向为0°,逆时针旋转为正,顺时针旋转为负。
前移画笔一定长度的函数是forward(),括弧里参数是画笔前移的像素值。
pensize()和pencolor()
可以用函数pensize()指定画笔的宽度,单位是像素
函数pencolor()指定画笔的颜色。
hideturtle()和showturtle()
隐藏和显示turtle
left()和right()
设置画笔的相对朝向。
turtle库的left()函数用来设置画笔以当前朝向为基础逆时针旋转一定的角度;
turtle库的right()函数用来设置画笔以当前朝向为基础顺时针旋转一定的角度。
speed()
turtle库里的函数speed()用来设置画笔移动速度
画笔绘制的速度为0到10之间的整数。数字越大移动速度越快。
done()和bye()
函数done()和bye()用来关闭和退出turtle库
可以避免在使用完turtle库后继续占用计算资源和内存资源。
position()和pos()
可以通过调用函数position()或者pos()获取turtle画笔的当前坐标
fillcolor()、color()
函数fillcolor()用来设置画笔轨迹所形成图形的填充颜色。如fillcolor(“red”)表示所画图形的填充颜色设置为红色
color()函数可以用来同时设置画笔颜色和填充颜色。
如果color()里只设置一个颜色字符串,则画笔颜色和填充颜色均为该颜色;
如果color()里有两个颜色字符串,则第一个是设置画笔颜色,第二个是设置填充颜色。
begin_fill()和end_fill()
用来表示需要填充颜色的形状范围的。
在绘制要填充颜色的形状之前,调用begin_fill(),绘制填充颜色的形状完成之后调用end_fill()。
设置显示区域的大小和颜色
这个画布的可显示区域的默认大小可以使用函数screensize()获取,如图5-4所示,默认大小为(400,300)。
也可以使用函数screensize()来设置可显示区域的大小
使用函数bgcolor()或函数screensize()均可设置画布的颜色
screensize(bg = color)
backward()
画笔后退函数backward()用于实现沿着当前画笔朝向后退一定长度,画笔的朝向不变。
circle()
它的作用是用给定的半径画圆。
比如说,circle(100)就是画一个半径为100像素的圆,画笔方向默认是横轴正向,圆心在垂直于画笔方向的左侧,距离画笔100像素的地方,起点在画笔当前位置。
半径为负的时候,表示圆心在画笔运行方向的右边。
设置turtle模式
mode() 画笔的默认朝向以横轴正向为0°,逆时针旋转为正向,顺时针旋转为负向。
使用mode()函数可以返回“standard”值,获取turtle的工作模
如果将turtle的标准工作模式设为“logo”,则turtle画笔的初始朝向以纵轴正向为0°,顺时针旋转为正向,逆时针旋转为负向。
pic.mode("logo")
在turtle中写文字的函数
write()
函数write()在画布上写字。
函数write()的格式为: write(s,font) s为文本内容,font是字体的参数,包括字体名称、大小和类型。
import turtle as tltl.write("aaaa") # 使用默认画笔,默认字体从原点开始书写文字
tl.write("bbb", font = "楷体",15,"italic") //字体名称,大小,字体类型
'''
宋体 黑体
bold normal
'''
画布大小和位置的设置
在turtle库中setup()函数可以设置画布的宽、高,以及画布在电脑屏幕中的位置。
width是画布的宽,height是画布的高,在这里,输入的宽和高为整数
tl.setup(width= 800, height = 600,startx= 100,starty =100)在这里,width和height是小数,表示占据电脑屏幕的比例,(startx,starty)为空时,即没有设置,则表示画布窗口位于屏幕中心。
tl.setup(width= 0.6, height = 0.6)math库的radians()和degrees()
函数radians()把角度值转换为弧度值;函数degrees()把弧度值转换为角度值
颜色取值
三元组(r,g,b)的取值,有两种方式:
(1)r、g、b分别取[0,255]之间的整数
(2)是r、g、b取[0,1]之间的小数。
在turtle画图中的颜色三元组支持r、g、b值取[0,1]范围的小数。
对于[0,255]的数值,可以通过除以255,来得到相应[0,1]范围的值。
画圆弧
turtle库里画圆弧的函数是circle()。
circle(半径,弧度)画圆弧时,不但需要指定圆弧的半径,还需要指定圆弧的弧度。
circle()画正多边形
circle(外接圆半径,steps= 正多边形边数)Python自带的pdb调试工具包的使用
pdb为Python程序提供了交互式的源代码调试功能,主要包括设置断点、单步调试、进入函数调试、查看当前代码、动态改变变量的值等。
导入pdb库,加入了函数pdb.set_trace();
在调试过程中,程序会运行到pdb.set_trace()的位置处。
- 选择n+Enter可以执行当前的代码;
- 在第一次按下了n+Enter之后,可以直接按Enter重复执行上一条调试命令。
- 输入list或l命令可以显示当前代码段。
- 调试命令p用来打印当前变量的值
- 在调试模式下,命令c可以让程序继续运行到下一个pdb.set_trace()
- 使用命令exit可以退出调试模式。
改变画笔形状
使用turtle库的函数shape(),可以获取当前画笔的形状;
如果要改变画笔的形状,只需要给函数shape()中的输入参数赋值,shape(“turtle”)就是将画笔形状改为turtle形状。