笔记-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 ...
随机推荐
- tomcat设置gzip
使用tomcat发布3dtiles或terrain数据遇到的gzip问题 问题一 对大于1KB的json请求进行gzip压缩,json为原文件 1.创建原始文件 2.设置 在apache-tomcat ...
- Tkinter 之pack布局
一参数说明 参数 作用 anchor 控制组件在 pack 分配的空间中的位置"n", "ne", "e", "se", ...
- elasticsearch 动态映射
https://www.elastic.co/guide/cn/elasticsearch/guide/current/dynamic-mapping.html#dynamic-mapping当 El ...
- Go by Example-Switch分支结构
上一节提到了Go语言中的if/else结构,但是条件过多的时候就不适合用if语句了,这个时候我们就可以使用switch语句了. 基本特性 switch 是一个条件语句,用于将一个表达式的求值结果与可能 ...
- 常用的etl工具比较
ETL是什么? ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.(数 ...
- Linux内存使用情况以及内存泄露情况
1. 内存使用情况分析 http://www.360doc.com/content/15/1118/13/17283_514054063.shtml https://www.linuxidc.com/ ...
- linux内核中的__cpu_suspend是在哪里实现的呀?
1. 内核版本 4.19 2. 在arch/arm/kernel/sleep.S中实现如下: /* * Save CPU state for a suspend. This saves the CPU ...
- Android架构(一)MVP架构在Android中的实践
Android架构(一)MVP架构在Android中的实践 https://www.300168.com/yidong/show-2790.html 核心提示:为什么要重视程序的架构设计 对程序进 ...
- mxnet深度学习实战学习笔记-9-目标检测
1.介绍 目标检测是指任意给定一张图像,判断图像中是否存在指定类别的目标,如果存在,则返回目标的位置和类别置信度 如下图检测人和自行车这两个目标,检测结果包括目标的位置.目标的类别和置信度 因为目标检 ...
- OVS+VXLAN实现两个宿主机上的VM间的通信
一.组网图 说明: 1.使用网络命名空间表示vm1和vm2. 因为我没有两台物理服务器. 2.使用virtualbox 的两条虚机模拟作为host1和host2. 二.配置指导 1.创建网桥 br0 ...