1.什么是turtle库

Python的Turtle库是一个直观有趣的图形绘制函数库,Turtle英文翻译过来是乌龟的意思,在绘图时可以想象成一只乌龟在移动。

2.绘图坐标体系

海龟的移动方向

3.绘制图像函数

3.1 画布:画布是用于绘图的区域,可控制其界面大小。

setup ( width , height , startx , starty )

width : 窗口宽度,值为整数则对应像素值;值为小数则为窗口宽度与屏幕的比例。

height : 窗口高度,值为整数则对应像素值;值为小数则为窗口高度与屏幕的比例。

startx : 窗口左侧与屏幕左侧的像素距离,值为None则窗口位于窗口水平中央。

starty : 窗口右侧与屏幕右侧的像素距离,值为None则窗口位于窗口垂直中央。

 3.2画笔:

(1)turtle.penup() 别名:turtle.pu()或者turtle.up()    作用:抬起画笔,之后移动画笔不绘制形状

(2)turtle.pendown() 别名:turtle,pd()或者turtle.down()   作用:落下画笔,之后移动画笔绘制形状

(3)turtle.pensize()   作用:设置画笔尺寸    例如:turtle.pensize(width) 别名:turtle.width() 作用:设置画笔宽度,当无参数输入时返回当前画笔宽度

(4)turtle.pencolor()  作用:设置画笔颜色

RGB色彩体系

 rgb的色彩取值范围为0-255的整数或者0-1的小数

  

  

切换RBG模式

turtle.colormode(mode)

  1.0:RGB小数模式

  255:RGB整数模式

3.3.形状绘制函数

turtle.fd(distance) / forward(distance) 作用:向小乌龟前进的方向前进distance距离,distance 为前进距离的像素值

turtle.bk(distance) / backward(distance)  作用:向小乌龟前进的方向后退distance距离,distance 为后退距离的像素值

turtle.lt(angle) / left(angle) 作用:左转,angle 为左转的角度

turtle.rt(angle) / right(angle) 作用:angle 为右转的角度

turtle.seth(angle) / setheading(angle)  作用:angle 为转到的角度,即改变绘图的方向

turtle.circle(radius [,extent])  作用:绘制以radius为半径、以angle为角度弧形

  (extent 为None时,绘制整个圆;radius 为正数时,绘制的图形在小海龟左侧;radius 为负数时,绘制的图形在小海龟右侧)

turtle.ht() / hideturtle()  作用:隐藏小海龟

turtle.st() / showturtle()  作用:显示小海龟

turtle.fillcolor(colorstring)  作用:填充颜色

turtle.begin_fill()  作用:开始填充图形

turtle.end_fill()  作用:填充完成

3.4 控制命令

命令

说明

home()

使小海龟回到初始位置 (0,0)

clear()

清空窗口,但小海龟的位置和状态不变

reset()

清空窗口,且重置小海龟的状态为初始状态

undo()

撤销上一个动作

stamp()

复制当前图形

write(s [,font=(“font_name”,font_size,”font_type”)])

文本,s 为文本内容,font 是字体的参数,内部分别是字体名称,大小和类型

4.绘制图像实例

(1)玫瑰花绘制

import turtle as t               # 定义一个曲线绘制函数(用t来代替turtle)
def DegreeCurve(n, r, d=1):
for i in range(n):
t.left(d)
t.circle(r, abs(d))                # 初始位置设定
s = 0.2 # 尺寸
t.setup(450*5*s, 750*5*s)            #设置窗口大小
t.pencolor("black")              #画笔颜色
t.fillcolor("red")                 #填充颜色
t.speed(100)                 #加速
t.penup()                    #下笔
t.goto(0, 900*s)
t.pendown()                  # 绘制花朵形状
t.begin_fill()                    #开始
t.circle(200*s,30)
DegreeCurve(60, 50*s)
t.circle(200*s,30)
DegreeCurve(4, 100*s)
t.circle(200*s,50)
DegreeCurve(50, 50*s)
t.circle(350*s,65)
DegreeCurve(40, 70*s)
t.circle(150*s,50)
DegreeCurve(20, 50*s, -1)
t.circle(400*s,60)
DegreeCurve(18, 50*s)
t.fd(250*s)
t.right(150)
t.circle(-500*s,12)
t.left(140)
t.circle(550*s,110)
t.left(27)
t.circle(650*s,100)
t.left(130)
t.circle(-300*s,20)
t.right(123)
t.circle(220*s,57)
t.end_fill()                  # 结束花瓣的绘制
t.left(120)                 # 开始绘制花枝
t.fd(280*s)
t.left(115)
t.circle(300*s,33)
t.left(180)
t.circle(-300*s,33)
DegreeCurve(70, 225*s, -1)
t.circle(350*s,104)
t.left(90)
t.circle(200*s,105)
t.circle(-500*s,63)
t.penup()
t.goto(170*s,-30*s)
t.pendown()
t.left(160)
DegreeCurve(20, 2500*s)
DegreeCurve(220, 250*s, -1)          # 结束
t.fillcolor('green')                # 绘制一个绿色叶子
t.penup()
t.goto(670*s,-180*s)
t.pendown()
t.right(140)
t.begin_fill()
t.circle(300*s,120)
t.left(60)
t.circle(300*s,120)
t.end_fill()
t.penup()
t.goto(180*s,-550*s)
t.pendown()
t.right(85)
t.circle(600*s,40)              # 结束
t.penup()                  # 绘制另一个绿色叶子
t.goto(-150*s,-1000*s)
t.pendown()
t.begin_fill()
t.rt(120)
t.circle(300*s,115)
t.left(75)
t.circle(300*s,100)
t.end_fill()
t.penup()
t.goto(430*s,-1070*s)
t.pendown()
t.right(30)
t.circle(-600*s,35)
t.done()                 #玫瑰花结束绘制

(2)叠加等边三角形

# 往里叠加的等边三角形from turtle import *
n = int(input("请输入需要绘制的三角形个数:"))
d = 300for i in range(n):
for j in range(3):
seth((-1)**i*120*j)
fd(d)
fd(-d/2)
d /= 2
ht()
pu()
home()
write("已绘制{}个等边三角形".format(n))

Turtle库的学习积累的更多相关文章

  1. turtle库的学习

          Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动, ...

  2. python中关于turtle库的学习笔记

    一.基础概念 1.画布:画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置.常用的画布方法有两个:screensize()和setup(). (1)turtle.screen ...

  3. turtle库的学习笔记

    (1)turtle使用pen来绘制图形 pendown()  放下画笔,移动到指定点后继续绘制 penup()   提起画笔,用于另起一个地方绘制时使用 pensize(width)   设置画笔线条 ...

  4. turtle库笔记

    turtle库是学习python的一个重要数据库,在当下是一个很有趣流行的绘制图像的数据库,她把画笔想象为一只小乌龟在爬行,让小乌龟在一个以横轴为x,纵轴为y的画布上行驶,并且会有多样的行驶角度,速度 ...

  5. Python turtle库学习笔记

    1.简介 Python的turtle库的易操作,对初学者十分友好.对于初学者来说,刚学编程没多久可以写出许多有趣的可视化东西,这是对学习编程极大的鼓舞,可以树立对编程学习的信心.当然turtle本身也 ...

  6. python学习(二)之turtle库绘图

    今天是三月七号,也就是女生节,或者女神节.不知道你是不是有自己喜欢的女孩子,在这里你可以用turtle库绘制一朵玫瑰花,送给你喜欢的姑娘.(拉到最后有惊喜哦)但在画这朵玫瑰花之前,先来一个基础的图形, ...

  7. [Python学习笔记] turtle库的基本使用

    turtle库常用函数 引入turtle模块 import turtle turtle的绘图窗体 #setup()设置窗口大小及位置#setup()可省略turtle.setup(width,heig ...

  8. Turtle库学习笔记

    一.Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它 ...

  9. Python学习之turtle库和蟒蛇绘制程序

    Python的函数库 Python语言与C语言Java类似,可以大量使用外部函数库包含在安装包中的函数库:. 比如math, random, turtle等其他函数库,其他函数库用户根据代码需求自行安 ...

随机推荐

  1. 解决RSA加密中,System.Security.Cryptography.CryptographicException: 系统找不到指定的文件

    首先说下环境,win2008R2,iis7.5 遇到这个问题,困扰了我一天,在外国的网站上找到答案,还好有点英文基础.最后算是解决了,不过其中的原理还是没有搞的十分清楚. 先说下解决办法, 打开IIS ...

  2. 关于Http

    摘自:菜鸟教程 HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(www)服务器传输超文本到本地浏览器的传送协议. HTTP ...

  3. #033 信安培训基础题Python解决网络安全实验室|网络信息安全攻防学习平台

    第三题猜猜这是经过了多少次加密?分值: 200 加密后的字符串为:一大串 字符串最后面是= 所以是base64.b64decode编码究竟为啥有=就是base64咱也不知道 咱也不敢问咋解密也是从网上 ...

  4. 数据库【mongodb篇】练习操作

    本文的目标是通过大量的示例,来更好的理解如果在Mongodb中进行数据操作: 初入客户端刚利用 mongod命令进入客户端环境,此时对数据库一无所知: 举目四望,想知道现在有哪些数据库,   show ...

  5. margin塌陷与margin合并(margin),清除浮动

    **1.margin塌陷**问题:垂直方向的父子关系的盒子使用不当会产生margin塌陷.给子级设置margin-top时,他不会相对父级一起动,只有他的margin超过父级的margin时,才会生效 ...

  6. Facebook 广告投放相关概念简介(1)

    本文不涉及具体代码实现,仅对开发API的前置内容做简单介绍,想参考代码请绕行! 广告主(广告管理工具) ·需要推广自己的应用.网站.主页,所以有了广告管理工具 . ·一个广告主仅可拥有一个广告账户(可 ...

  7. linux 基本命令2

    linux没有磁盘的概念,这一点不同于windows,Linux所有的文件系统采用树的结构完成(核心本质)树自然有根节点 也就是linux存在一个根目录,用/表示ls 表示查看命令 我们使用 ls / ...

  8. scala的多种集合的使用(6)之映射Map的操作方法

    1.创建映射 1)创建不可变的映射 scala> val status = Map(1 -> "a",2 -> "b") status: sc ...

  9. vue省市区三级联动

    仿照小米之家做的一个省市区三级联动,先上代码: HTML: <template> <section class="myAddress"> <secti ...

  10. vagrant三网详解(团队/个人开发必看) 转

    vagrant三网详解(团队/个人开发必看)   Vagrant 中一共有三种网络配置,下面我们将会详解三种网络配置各自优缺点. 一.端口映射(Forwarded port) 顾名思义是指把宿主计算机 ...