Turtle库的学习积累
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库的学习积累的更多相关文章
- turtle库的学习
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动, ...
- python中关于turtle库的学习笔记
一.基础概念 1.画布:画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置.常用的画布方法有两个:screensize()和setup(). (1)turtle.screen ...
- turtle库的学习笔记
(1)turtle使用pen来绘制图形 pendown() 放下画笔,移动到指定点后继续绘制 penup() 提起画笔,用于另起一个地方绘制时使用 pensize(width) 设置画笔线条 ...
- turtle库笔记
turtle库是学习python的一个重要数据库,在当下是一个很有趣流行的绘制图像的数据库,她把画笔想象为一只小乌龟在爬行,让小乌龟在一个以横轴为x,纵轴为y的画布上行驶,并且会有多样的行驶角度,速度 ...
- Python turtle库学习笔记
1.简介 Python的turtle库的易操作,对初学者十分友好.对于初学者来说,刚学编程没多久可以写出许多有趣的可视化东西,这是对学习编程极大的鼓舞,可以树立对编程学习的信心.当然turtle本身也 ...
- python学习(二)之turtle库绘图
今天是三月七号,也就是女生节,或者女神节.不知道你是不是有自己喜欢的女孩子,在这里你可以用turtle库绘制一朵玫瑰花,送给你喜欢的姑娘.(拉到最后有惊喜哦)但在画这朵玫瑰花之前,先来一个基础的图形, ...
- [Python学习笔记] turtle库的基本使用
turtle库常用函数 引入turtle模块 import turtle turtle的绘图窗体 #setup()设置窗口大小及位置#setup()可省略turtle.setup(width,heig ...
- Turtle库学习笔记
一.Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它 ...
- Python学习之turtle库和蟒蛇绘制程序
Python的函数库 Python语言与C语言Java类似,可以大量使用外部函数库包含在安装包中的函数库:. 比如math, random, turtle等其他函数库,其他函数库用户根据代码需求自行安 ...
随机推荐
- SQL Server创建Job, 实现执行相同脚本而产生不同作业计划的探究
1 . 背景描述 本公司的SQL Server 服务器近百台,为了收集服务器运行的状态,需要在各个实例上部署监控Job,将收集到的信息推送到中央管理服务器. 收集的信息主要包括:慢查询.阻塞.资源等待 ...
- Linux学习历程——Centos 7 passwd命令
一.命令介绍 passwd 命令用于修改用户密码,过期时间,认证信息等. 普通用户只能使用 passwd 命令修改自身的系统密码,而 root 管理员则有权限修改其他所有人的密码.更酷的是,root ...
- Git 简单粗暴使用
1.现在总结一下今天学的两点内容: 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file>,注意,可反复多次使用,添 ...
- @EnableFeignClients 注解
feignClents在spring容器里找不到的原因 当使用的feignClents 来自引用别的工程时,需要指定包名,如果不指定就算使用ComponentScan 扫描也不行 import org ...
- 元素定位之Ui-Automator-Viewer的使用
下载uiautomatorviewer升级版 1. 将所有jar包拷贝到%SDK%/tools\lib目录下,覆盖原来的uiautomatorviewer.jar2. 使用%SDK%/tools\ui ...
- 使用原生 JS 复制文本兼容移动端 iOS & android
注意事项 使用 JS 实现复制功能并不是很难,但是有几个需要注意的地方. 首先文本只有选中才可以复制,所以简单的做法就是创建一个隐藏的 input,然后绑定需要复制的文本. 另外如果将 input 设 ...
- Python函数的装饰器修复技术(@wraps)
@wraps 函数的装饰器修复技术,可使被装饰的函数在增加了新功能的前提下,不改变原函数名称,还继续使用原函数的注释内容: 方便了上下文环境中不去更改原来使用的函数地方的函数名: 使用方法 from ...
- 02-MySQL基础
MySQL基础 1.存储引擎 1.1MyISAM MySQL5.5以及之前默认存储引擎MyISAM 如果应用是以读操作和插入操作为主,只有很少的更新和删除操作,并且对事务的完整性.并发性要求不高,那么 ...
- vscode 打开多个标签页
默认只打开2个,按如下设置可以支持多开: 路径C:\Users\admin\AppData\Roaming\Code\User下的settings.json添加一条配置:"workbench ...
- OpenCV4.1.0实践(1) - 环境配置及使用
Pycharm下虚拟环境配置 1.下载whl文件 下载地址:python extension packages 搜索opencv,根据自己的版本下载,我用的python版本是3.5.2,64位: 2. ...