关于Turtle库的学习笔记

                                                                                       

turtle库(海龟库)是Python编程的一个函数库,它包含了多种绘图所需的函数。借助turtle库,我们通过Python绘制各种图形。首先我们要调用turtle库。

1 #调用turtle的第一步
2 import turtle 

 

一、画布的设置

1、设置画布窗口的大小,初始位置,背景颜色,我们可以用这两种函数去实现。

#第一种方法:
import turtle   #调用turtle库
turtle.setup(窗口宽度,窗口高度,x,y)  #(x,y)表示与屏幕左上角(0,0)点的相对的位置,若没有设置则系统将把窗口放在屏幕中间。

#第二种方法:
import turtle  #调用turtle库
turtle.screensize(窗口的宽度,窗口的高度,"背景颜色")    #背景颜色可以是相应颜色的英文,或者RGB三色组,或RGB颜色代码。

 注:窗口的宽度、高度均是以“像素”为单位。

二、画笔的设置以及操作

1、画笔的设置:

   (1)画笔的大小(宽度)

1 turtle.pensize(画笔的宽度)    #其实很好理解pen是笔,size是大小。

   (2)画笔的颜色

turtle.pencolor("画笔颜色")  
#画笔颜色参数可以是Purple	或者如160,32,240的RGB颜色三元组	也可以用相应的16色代码#A020F0

  (3)画笔的速度

turtle.penseed(画笔速度) #画笔速度的取值在[0,10]之内的整数

2、画笔的操作指令

指令(函数) 说明(解释)
(1)turtle.forward(距离长度)或者turtle.fd(距离长度) 控制海龟向当前方向移动一定的距离(即画笔在当前方向移动一定的距离长度),长度的单位是像素
(2)turtle.backward(距离长度) 向当前画笔相反方向移动一定的距离长度,长度单位是像素
(3)turtle.left(角度) 逆时针转过一定角度
(4)turtle.right(角度) 顺时针转过一定角度
(5)turtle.penup() 将画笔抬起(海龟悬空),与(6)搭配使用
(6)turtle.pendown() 将抬起的画笔放下(海龟着地)
(7)turtle.goto(x,y) 将画笔移动到坐标为(x,y)的位置上,可以与(5)(6)搭配使用,也可单独使用
(8)turtle.circle(半径,转过角度) 画圆(不一定要360度,可以用来画弧),半径为正(负),表示圆心在画笔的左边(右边),转过一定角度。
(9)turtle.fillcolor(”颜色”) 绘制图形时填充图形内部的颜色,颜色可以是相应的颜色的英文,RGB三色组,16色代码
(10)turtle.color(“颜色1”,“颜色2”) 同时设置画笔颜色和填充颜色,pencolor=颜色1,fillcolor=颜色2
(11)turtle.begin_fill() 准备开始填充图形的颜色(与(9)(12)形成搭配使用)
(12)turtle.end_fill() 结束对绘制的图形的颜色填充
(13)turtle.filling() 返回当前是否在填充状态
(14)turtle.hideturtle() 把海龟藏起来(即把画笔箭头藏起来)
(15)turtle.showturtle() 显示海龟(即把隐藏的画笔箭头露出来)
(16)turtle.seth(角度) 海龟接下来前进的一定角度(即画笔朝着一定的角度,改变画笔方向但不移动画笔)
(17)turtle.done() 绘图的窗口不关闭(画布不关闭)
(18)setx() 将当前x轴移动到指定位置
(19)sety() 将当前y轴移动到指定位置
(20)setheading(角度) 设置画笔当前的朝向某一个角度
(21)home() 设置当前画笔位置为原点,朝向东
(22)dot(r) 绘制一个指定直径和颜色的圆点
(23)turtle.circle(r,steps=n) 绘制一个半径为r的圆的一个正n边形

 

三、命令详解(例题分析)

1、五角星的绘制

 1 #五角星
 2 import turtle                  #调用turtle库
 3 turtle.pensize(3)             #设置画笔的宽度
 4 turtle.pencolor("yellow")    #设置画笔颜色
 5 turtle.fillcolor("red")     #设置填充颜色
 6 turtle.begin_fill()        #开始填充
 7 for i in range(5):        #画五条线
 8     turtle.forward(50)   #画笔向前移动50像素
 9     turtle.right(144)   #画笔右转144度
10     turtle.forward(50) #画笔向前移动50像素
11     turtle.left(72)   #画笔左转72度
12 turtle.end_fill()    #结束填充
13 turtle.hideturtle() #隐藏画笔
14 turtle.done()      #结束绘制

 

2、Python蟒蛇绘制

 1 import turtle                             #引入海龟库
 2 turtle.setup(650, 350, 200, 200) #setup(宽,高 , 坐标,坐标)设置 
 3                                                 #窗体大小及位置
 4 turtle.penup()                            #画笔抬起
 5 turtle.fd(-250)                            #前进-250个像素
 6 turtle.pendown()                         #画笔落下
 7 turtle.pensize(25)                        #改变画笔宽度为25
 8 turtle.pencolor("purple")               #设置画笔为紫色
 9 turtle.seth(-40)                            #改变海龟方向为绝对40度
10 for i in range(4):                           #循环4次
11     turtle.circle(40, 80)                   #改变海龟行进轨迹(40度为半 
12                                                    #径,绘制80度)
13     turtle.circle(-40, 80)                   #改变海龟行进轨迹 (反向40度 
14                                                      #为半径,绘制80度)
15 turtle.circle(40, 80/2)                     #绘制半径为40,角度为40度弧
16 turtle.fd(40)                                    #前进40像素
17 turtle.circle(16, 180)                        #绘制半径为16的半圆
18 turtle.fd(40 * 2/3)                           #前进40*2/3像素
19 turtle.done()                                   #绘制图形结束后窗口不关闭

 

 

四、绘制图形的展示

1、叠加等边三角形

 1 #叠加等边三角形
 2 import turtle
 3 turtle.setup(600,500,200,200)
 4 turtle.pensize(1)
 5 for i in range(3):
 6      turtle.fd(80)
 7      turtle.left(120)
 8 turtle.fd(40)
 9 turtle.left(120)
10 turtle.fd(40)
11 for i in range (3):
12     turtle.right(120)
13     turtle.fd(40)

 

2、三角标

 1 import turtle                  
 2 turtle.pensize(3)             
 3 turtle.pencolor("yellow")    
 4 turtle.fillcolor("red")     
 5 turtle.begin_fill()        
 6 for i in range(3):        
 7     turtle.forward(50)       
 8     turtle.right(150)   
 9     turtle.forward(50) 
10     turtle.left(30)   
11 turtle.end_fill()    
12 turtle.hideturtle() 
13 turtle.done()      

 

 

 

posted @ 2020-03-14 11:54  贾诩来编程  阅读(1023)  评论(2编辑  收藏  举报