zoukankan      html  css  js  c++  java
  • 关于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()      

  • 相关阅读:
    python模块学习第 0000 题
    报错The VMware Authorization Service is not running
    图像指纹的重复识别
    CSS预编译器配置-------LESS Sass Stylus webstorm
    CSS布局中的水平垂直居中
    进度与日程
    HTML5 application cache
    进度
    CC2530芯片介绍
    Linux命令工具 top详解
  • 原文地址:https://www.cnblogs.com/LSH1628340121/p/12491351.html
Copyright © 2011-2022 走看看