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库进行图形绘制的更多相关文章

  1. Python学习之turtle库和蟒蛇绘制程序

    Python的函数库 Python语言与C语言Java类似,可以大量使用外部函数库包含在安装包中的函数库:. 比如math, random, turtle等其他函数库,其他函数库用户根据代码需求自行安 ...

  2. matlab学习笔记8 基本绘图命令-特殊图形绘制

    一起来学matlab-matlab学习笔记8 基本绘图命令_3 特殊图形绘制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰等 ...

  3. python中的turtle库绘制图形

    1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...

  4. Python turtle库绘制简单图形

    一.简介 Python中的turtle库是一个直观有趣的图形绘制函数库.turtle库绘制图形有一个基本框架:一个小海龟在坐标系中爬行,其爬行轨迹形成了绘制图形. 二.简单的图形列举 1.绘制4个不同 ...

  5. python库之turtle(图形绘制) 开启新的快乐源泉

    相信有不少人学习python 都是听了老前辈的推荐 “学python好,python有趣的代码多” 比如说画一只小狮子 这就是今天想要介绍的绘制图形库-turtle 如果也想这样画一只小狮子,或者其他 ...

  6. 利用 turtle库绘制简单图形

    turtle库是python的基础绘图库,这个库被介绍为一个最常用的用来介绍编程知识的方法库,其主要是用于程序设计入门,是标准库之一,利用turtle可以制作很多复杂的绘图. turtle名称含义为“ ...

  7. Python:turtle库的使用及图形绘制

    目录 一.绘制一个八边形 二.绘制一个八角图形 三.简述问题 四.循环程序设计 五.绘制一个自己喜欢的图形 一.绘制一个八边形 使用turtle库,绘制一个八边形 代码: from turtle im ...

  8. 使用turtle库绘制图形

    1.使用turtle库绘制红色五角星图形 import turtle n = eval(input("请输入五角星的长度")) turtle.begin_fill() #开始填充颜 ...

  9. 【Python 14】分形树绘制2.0(重复五角星+Turtle库文档)

    1.案例描述 加入循环操作绘制重复不同大小的图形 2.案例分析 3.turtle库补充 # 画笔控制函数 turtle.penup() # 抬起画笔,之后移动画笔不绘制图形 turtle.pendow ...

随机推荐

  1. tomcat设置gzip

    使用tomcat发布3dtiles或terrain数据遇到的gzip问题 问题一 对大于1KB的json请求进行gzip压缩,json为原文件 1.创建原始文件 2.设置 在apache-tomcat ...

  2. Tkinter 之pack布局

    一参数说明 参数 作用 anchor 控制组件在 pack 分配的空间中的位置"n", "ne", "e", "se", ...

  3. elasticsearch 动态映射

    https://www.elastic.co/guide/cn/elasticsearch/guide/current/dynamic-mapping.html#dynamic-mapping当 El ...

  4. Go by Example-Switch分支结构

    上一节提到了Go语言中的if/else结构,但是条件过多的时候就不适合用if语句了,这个时候我们就可以使用switch语句了. 基本特性 switch 是一个条件语句,用于将一个表达式的求值结果与可能 ...

  5. 常用的etl工具比较

    ETL是什么? ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.(数 ...

  6. Linux内存使用情况以及内存泄露情况

    1. 内存使用情况分析 http://www.360doc.com/content/15/1118/13/17283_514054063.shtml https://www.linuxidc.com/ ...

  7. linux内核中的__cpu_suspend是在哪里实现的呀?

    1. 内核版本 4.19 2. 在arch/arm/kernel/sleep.S中实现如下: /* * Save CPU state for a suspend. This saves the CPU ...

  8. Android架构(一)MVP架构在Android中的实践

    Android架构(一)MVP架构在Android中的实践 https://www.300168.com/yidong/show-2790.html   核心提示:为什么要重视程序的架构设计 对程序进 ...

  9. mxnet深度学习实战学习笔记-9-目标检测

    1.介绍 目标检测是指任意给定一张图像,判断图像中是否存在指定类别的目标,如果存在,则返回目标的位置和类别置信度 如下图检测人和自行车这两个目标,检测结果包括目标的位置.目标的类别和置信度 因为目标检 ...

  10. OVS+VXLAN实现两个宿主机上的VM间的通信

    一.组网图 说明: 1.使用网络命名空间表示vm1和vm2. 因为我没有两台物理服务器. 2.使用virtualbox 的两条虚机模拟作为host1和host2. 二.配置指导 1.创建网桥 br0 ...