笔记-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 ...
随机推荐
- Linux下基于Xampp的TestLink的安装部署
由于项目需要,故需要搭建Testlink,且出于稳定,考虑在linux环境部署,当然windows系统也是可以的. 系统:64位操作系统 linux:centos6.8 testlink:1.9.14 ...
- VS2017 怎么启用nuget程序包还原?
以前VS2015的时候,在解决方案右键会有一个“启用nuget程序包还原”的选项. 现在换成2017了,这个选项的位置变成了“还原nuget包”,现在新建到TFS上的项目,别人下完都没法还原,求解! ...
- 【原】Python基础-循环语句
x = 1while x <= 10: print(x) x += 1 password = ""while password != "3213554": ...
- DevOps时代的软件过程改进探讨 杨振涛 云加社区 今天 作者:杨振涛,腾讯云TVP 本文从Jenkins,DevOps,云原生等视角探讨了软件过程改进在各个时代的挑战和价值,重新审视了SPI在软件开发和交付的效率和质量提升方面的意义
DevOps时代的软件过程改进探讨 杨振涛 云加社区 今天 作者:杨振涛,腾讯云TVP 本文从Jenkins,DevOps,云原生等视角探讨了软件过程改进在各个时代的挑战和价值,重新审视了SPI在软件 ...
- python笔记8 socket(TCP) subprocess模块 粘包现象 struct模块 基于UDP的套接字协议
socket 基于tcp协议socket 服务端 import socket phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 买 ...
- 【406】C语言相关函数
<stdlib.h>(1) <stdlib.h>(2) malloc() 用来动态地分配内存空间,分配成功返回指向该内存的地址,失败则返回 NULL. 前面的 (int*) 或 ...
- Python之queue模块以及生产消费者模型
队列 队列类似于一条管道,元素先进先出,进put(arg),取get() 有一点需要注意的是:队列都是在内存中操作,进程退出,队列清空,另外,队列也是一个阻塞的形态. 队列分类 队列有很多中,但都依赖 ...
- (十三)static关键字
--摘自孤傲苍狼博客 一.static关键字
- 原创:Mac AppleScript 自动登录两个QQ
前提,已有登录过的账号,且没有设置为自动登录 tell application "QQ" activate tell application "System Events ...
- 【c# 学习笔记】所有类的父类:System.object
在c#中,所有的类都派生自System.Object类.如果定义的类,没有直达任何基类,编译器就会自动把Object类当作它的基类.和其他类 一样,System.Object类也定义了一组共有的成员, ...