Python turtle库
1,Turtle库可以看作是小乌龟,在一个横轴为x、纵轴为y的平面坐标系中移动,并在爬行的路径上绘制了图形。turtle.setup(width, height, startx,starty)
- width, height: 宽和高
- startx, starty: 矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心
1) turtle.pensize() :设置画笔的宽度;==turtle.width()
2) turtle.pencolor() :没有参数传入返回当前画笔颜色;传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB值。
>>> pencolor('brown') >>> tup = (0.2, 0.8, 0.55) >>> pencolor(tup) >>> pencolor() '#33cc8c'
3) turtle.speed(speed) :设置画笔移动速度,画笔绘制的速度范围[0,10]整数, 数字越大越快
画笔
在画布上,默认有一个坐标原点为画布中心的坐标轴, 坐标原点上有一只面朝x轴正方向小乌龟。
这里我们描述小乌龟时使用了两个词语:标原点(位置),面朝x轴正方向(方向),turtle绘图中, 就是使用位置方向描述小乌龟(画笔)的状态。
画笔控制函数
画笔操作后一直有效,一般成对出现
Turtle.penup() 抬起画笔,海龟在飞行
Turtle.pendown() 落下画笔,海龟在爬行
Turtle.penside(width) 画笔宽度,海龟的腰围
Turtle.pencolor(color) 画笔颜色,海龟在涂装
其中,pencolor有三种形式:
(1)颜色字符串
(2)RGB的小数值
(3)RGB的元组值
运动控制函数
控制海龟行进:走直线&走曲线
画笔设置后一直有效,直至下一次重新设置
Turtle.forward(d) 向前进,海龟走直线
d:行进距离,可以为负数
Turtle.circle(r,extent=None) 根据半径r绘制extent角度的弧形
r:默认圆心在海龟左侧r距离的位置
extent:绘制角度,默认是360度整圆
方向控制函数
控制海龟面向方向:绝对角度&海龟角度
Turtle.setheading(angle) 改变行进方向,海龟走角度
angle:行进方向的绝对角度
Turtle.left(angle) 海龟向左转
Turtle.right(angle) 海龟向右转
angle:在海龟当前行进方向上旋转的角度
RGB色彩体系
RGB指红蓝绿三个通道的颜色组合,每色取值范围0-255整数或0-1小数,默认采用小数值,可切换为整数值
Turtle.colormode(mode) 1.0:RGB小数值模式
255:RGB整数值模式
常用RGB色彩:
空间坐标体系
角度坐标体系
3 绘图举例
绘制五角星
import math
import turtle
RADIUS = 100
angleSin18 = math.sin(math.pi * 0.1) * RADIUS
angleCos18 = math.cos(math.pi * 0.1) * RADIUS
angleSin54 = math.sin(math.pi * 0.3) * RADIUS
angleCos54 = math.cos(math.pi * 0.3) * RADIUS
turtle.width(10)
turtle.color("Yellow")
turtle.penup()
turtle.goto(-angleCos18, angleSin18)
turtle.pendown()
turtle.goto(angleCos18, angleSin18)
turtle.goto(-angleCos54, -angleSin54)
turtle.goto(0, RADIUS)
turtle.goto(angleCos54, -angleSin54)
turtle.goto(-angleCos18,