Python 的turtle笔记

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,

 

原文地址:https://www.cnblogs.com/567823a/p/12548252.html