笔记-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 ...
随机推荐
- 启动Django项目报错
今天一时手欠将电脑名字改成了中文,在启动Django或Flask项目的时候一直报下面的错误 问题描述: 环境配置成功,Django成功pip,运行项目报错,浏览器输入127.0.0.1:8000报错 ...
- Ansible 模式
一.Ansible 命令 1.Ansible 命令执行的方式有两种:Ad-Hoc.Ansible-playbooks,这两种方式没有本质的区别,Ad-Hoc用于临时执行命令:Ansible-playb ...
- meshing-局部加密
原视频下载地址: https://pan.baidu.com/s/1nvSf5qh 密码: cpbs
- BZOJ3781小B的询问
莫队裸题. 维护的时候有的打法是利用(a-1)^2==a^2-2*a+1转移,也可以,但是通用性不太够. 下面的打法就是先把这个点的贡献删掉,然后更新这个点,再把这个点的贡献加回来,这种解法更加通用一 ...
- lucene正向索引(续)——一个文档的所有filed+value都在fdt文件中!!!
4.1.3. 域(Field)的数据信息(.fdt,.fdx) 域数据文件(fdt): 真正保存存储域(stored field)信息的是fdt文件 在一个段(segment)中总共有segment ...
- element-ui框架的el-dialog弹出框被遮罩层挡住了
解决办法 在el-dialog标签里添加 :modal-append-to-body='false'
- Ubunut16.04 安装 g++ gcc 降级
1. 查看gcc版本和g++版本 cd /usr/bin ls -l gcc* ls -l g++* 2. 安装gcc和g++ 4.4版本 sudo apt-get install gcc-4.4 g ...
- 重新认识Java 8的HashMap
[转自]美团技术博客 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型.随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实 ...
- (一)java面试易忘题目精选(1)
1. int和Integer有什么区别? 答:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类 ...
- iOS-UIToolbar与UISearchBar
组件_ UIToolbar /** 1. 顶部toolbar 2. TextField可以以UIBarButtonItem的自定义视图的方式加入toolbar 3. 三个按钮 4. 将UIBarBu ...