笔记-8:使用turtle库进行图形绘制
1.窗体函数
- turtle.setup(width,height,startx,starty)
- 作用:设置窗体的大小和位置
- width:窗口宽度,如果值是整数,表示像素值;如果值是小数,表示窗口宽度与屏幕的比例。
- height:窗口高度,如果值是整数,表示像素值;如果值是小数,表示窗口高度与屏幕的比例。
- startx:窗口左侧与屏幕左侧的像素距离,如果值是None,窗口位于屏幕水平中央。
- starty:窗口顶部与屏幕顶部的像素距离,如果值是None,窗口位于屏幕垂直中央。
2.画笔状态函数
| pendown() | 发下画笔 |
| penup() | 提起画笔,与pendown()配对使用 |
| pensize(width) | 设置画笔线条的粗细为指定大小 |
| color() | 设置画笔的颜色 |
| begin_fill() | 填充图形前,调用该方法 |
| end_fill() | 填充图形结束 |
| filling() | 返回填充的状态,True为填充,False为未填充 |
| clear() | 清空当前窗口,但不改变当前画笔的位置 |
| reset() | 清空当前窗口,并重置位置等状态为默认值 |
| screensize() | 设置画笔的长和宽 |
| hideturtle() | 隐藏画笔的turtle形状 |
| showturtle() | 显示画笔的turtle形状 |
| isvisible() | 如果turtle可见,则返回True |
3.画笔运动函数
| forward() | 沿着当前方向前进指定距离 |
| backward() | 沿着当前相反方向后退指定距离 |
| right(angle) | 向右旋转angle角度 |
| left(angle) | 向左旋转angle角度 |
| goto(x,y) | 移动到绝对坐标( x,y) 处 |
| setx( ) | 将当前x轴移动到指定位置 |
| sety( ) | 将当前y轴移动到指定位置 |
| setheading(angle) | 设置当前朝向为angle角度 |
| home() | 设置当前画笔位置为原点, 朝向东。 |
| circle(radius,e) | 绘制一个指定半径r和角度e的圆或弧 |
| dot(r,color) | 绘制一个指定半径r和颜色color的圆点 |
| undo() | 撤销画笔最后一步动作 |
| speed() | 设置画笔的绘制速度, 参数为0-10之间 |
4.案例
- 案例-1:使用turtle库绘制轮廓颜色为红色(red)、填充颜色为粉红色(pink)的心形图形
from turtle import *
color('red', 'pink') # 设置画笔的颜色
begin_fill() # 填充图形前,调用该方法
left(135) # 向左旋转135度
fd(100) # 控制画笔向当前行进方向前进100
right(180) # 向右旋转180度
circle(50,-180) # 绘制一个指定半径50和角度180的圆或弧形
left(90) # 向左旋转90度
circle(50,-180) # 绘制一个指定半径50和角度180的圆或弧形
right(180) # 向右旋转180度
fd(100) # 控制画笔向当前行进方向前进100
end_fill() # 填充图形完成
hideturtle() # 隐藏画笔的形状
done()
- 案例-2:使用turtle库绘制红色五角星图形
from turtle import * setup(400,400) # 窗体的大小400*400
penup() # 提起画笔
goto(-100,50) # 移动到绝对坐标(-100,50)
pendown() # 落下画笔, 之后, 移动画笔将绘制形状
color('red')
begin_fill() # 填充图形
for i in range(5):
forward(200) # 沿着当前方向前进200
right(144) # 向右旋转144角度
end_fill() # 填充图形结束
hideturtle()
done()
- 案例-3:使用turtle库绘制正方形螺旋线
from turtle import * n = 10
for i in range(1,10):
for j in [90,180,-90,0]:
seth(j) # 改变画笔绘制方向
fd(n) # 当前行进方向前进n+5
n += 5
hideturtle()
done()
- 案例-4:使用turtle库绘制简单城市剪影图形
from turtle import * setup(800,300) # 设置主窗体的大小和位置
penup() # 抬起画笔,之后, 移动画笔不绘制形状
fd(-350)
pendown() # 落下画笔, 之后, 移动画笔将绘制形状
def DrawLine(size):
for angle in [0,90,-90,-90,90]:
left(angle) # 向左旋转angle角度
fd(size)
for i in [20,30,40,50,40,30,20]:
DrawLine(i)
hideturtle()
done()
- 案例-5:使用turtle库绘制同心圆图形
from turtle import * def DrawCctCircle(n):
penup() # 抬起画笔,之后, 移动画笔不绘制形状
goto(0,-n) # 移动到绝对坐标( 0,-n) 处
pendown() # 落下画笔, 之后, 移动画笔将绘制形状
circle(n) # 绘制一个指定半径n圆
for i in range(20,100,20):
DrawCctCircle(i)
hideturtle()
done()
笔记-8:使用turtle库进行图形绘制的更多相关文章
- Python学习之turtle库和蟒蛇绘制程序
Python的函数库 Python语言与C语言Java类似,可以大量使用外部函数库包含在安装包中的函数库:. 比如math, random, turtle等其他函数库,其他函数库用户根据代码需求自行安 ...
- matlab学习笔记8 基本绘图命令-特殊图形绘制
一起来学matlab-matlab学习笔记8 基本绘图命令_3 特殊图形绘制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰等 ...
- python中的turtle库绘制图形
1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...
- Python turtle库绘制简单图形
一.简介 Python中的turtle库是一个直观有趣的图形绘制函数库.turtle库绘制图形有一个基本框架:一个小海龟在坐标系中爬行,其爬行轨迹形成了绘制图形. 二.简单的图形列举 1.绘制4个不同 ...
- python库之turtle(图形绘制) 开启新的快乐源泉
相信有不少人学习python 都是听了老前辈的推荐 “学python好,python有趣的代码多” 比如说画一只小狮子 这就是今天想要介绍的绘制图形库-turtle 如果也想这样画一只小狮子,或者其他 ...
- 利用 turtle库绘制简单图形
turtle库是python的基础绘图库,这个库被介绍为一个最常用的用来介绍编程知识的方法库,其主要是用于程序设计入门,是标准库之一,利用turtle可以制作很多复杂的绘图. turtle名称含义为“ ...
- Python:turtle库的使用及图形绘制
目录 一.绘制一个八边形 二.绘制一个八角图形 三.简述问题 四.循环程序设计 五.绘制一个自己喜欢的图形 一.绘制一个八边形 使用turtle库,绘制一个八边形 代码: from turtle im ...
- 使用turtle库绘制图形
1.使用turtle库绘制红色五角星图形 import turtle n = eval(input("请输入五角星的长度")) turtle.begin_fill() #开始填充颜 ...
- 【Python 14】分形树绘制2.0(重复五角星+Turtle库文档)
1.案例描述 加入循环操作绘制重复不同大小的图形 2.案例分析 3.turtle库补充 # 画笔控制函数 turtle.penup() # 抬起画笔,之后移动画笔不绘制图形 turtle.pendow ...
随机推荐
- 【转载】Hadoop集群各部分常用端口号
hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问.而随着hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如 ...
- GO windows下编译luajit
1 GO嵌入luajit需要用到cgo,使用cgo需要安装gcc,在windows上下载MinGW-W64安装上配置好环境变量就可以 2 gcc编译luajit,生成.a文件. 把LuaJIT-2.0 ...
- Asis_2016_b00ks wp
目录 程序基本信息 程序漏洞 利用思路 exp脚本 参考 程序基本信息 程序漏洞 有一个读入函数,程序的所有输入都靠它读取,这个程序有个很明显的off_by_one漏洞,在输入时多输入一个0字符. 利 ...
- secureCRT操作redis-cli时, 不断追加ip:port
Session Options-->Terminal-->Emulation-->Terminal为Linux
- socket_timeout
https://github.com/pika/pika/blob/03542ef616a2a849e8bfb0845427f50e741ea0c6/docs/examples/using_urlpa ...
- body-parser 解析post数据
安装 $ npm install body-parser API var bodyPaeser =require('body-parser') bodyParse.raw(option) 将请求体内容 ...
- LC 991. Broken Calculator
On a broken calculator that has a number showing on its display, we can perform two operations: Doub ...
- MS-MSMQ:百科
ylbtech-MS-MSMQ:百科 MicroSoft Message Queuing(微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可 ...
- YApi内部部署文档
旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API 1.安装Node.js环境(7.6+) 1.官网下载适合的nodejs版本放置在/usr/package ...
- vue+php接口
php: <?php header('Access-Control-Allow-Origin:*'); $date = $_POST['data'];$cars=array("Volv ...