turtle库笔记2.0

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()

  

猜你喜欢

转载自www.cnblogs.com/slj-xt/p/12524779.html