引言:

turtle(海龟)模块,我们是用它来进行画图的,基本上就是画简单的直线,点,和曲线。

你可以把它想成一个小海龟,在沙滩上行走,然后留下的各种痕迹,使用Turtle模块可以绘制很多精美的图形。

1. 画布(canvas)

画布就是我们画图的空白空间,可以修改大小和初始设置

如果我们用下面的Pen(画笔)函数,他会自动创建一个画布

t = turtle.Pen()

这是我们可以看到画布创建了,而在画布的中心会存在一个箭头,就是初始位置,也是我们的小海龟

绘图窗口的原点(0,0)在正中间。默认情况下,海龟向正右方移动

那么如果我们要修改画布大小呢?

python为我们提供了函数

turtle.screensize(canvwidth=None, canvheight=None, bg=None)
  • canvwidth:画布的宽度(单位:像素)
  • canvheight:画布的高度(单位:像素)
  • .bg:背景颜色
  • 若不设置值,默认参数为(400,300,None)  用Pen创建的就是默认大小

假如你不想设置长宽,只想按照屏幕大小来设定,别着急python还有一个函数

turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
  • width,height:输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例
  • (startx,starty):这一坐标表示矩形窗口左上角顶点的位置。如果为空,则窗口位于屏幕中心

2.运动

在设置好画布之后,就要画图案了,那么请注意,turtle模块的画图,都是以箭头(小海龟)为基础的,

在我们要画图的时候,运动操作都是在当前箭头位置基础上经行修改

操纵海龟绘图有着许多的命令,这些命令可以划分为两种:一种为运动命令,一种为画笔控制命令

下面为运动命令:

t.forward(distance 向当前画笔方向移动distance像素长度     =  t.fd(distance)

turtle.left(degree)  逆时针旋转degree度

turtle.goto(x,y)  将画笔移动到坐标为x,y的位置

注意移动的时候是会有痕迹的

就介绍这些,下面我们给出运动命令操作表⬇

forward(d)/fd(d)

向前移动距离,d代表距离

backward(d)/bk(d)

向后移动距离,d代表距离

right(degree)/rt(d)

向右转动多少度

left(degree)/lt(d)

向左转动多少度

goto(x,y)

将画笔移动到坐标为(x,y)的位置

speed(speed)

画笔绘制的速度范围[0,10]整数

circle(radius, extent)

绘制一个圆形,其中radius为半径,extent为度数,例如若extent为180,则画一个半圆;如要画一个圆形,可不必写第二个参数

setx( )

将当前x轴移动到指定位置,y轴坐标不变

sety( )

将当前y轴移动到指定位置,x轴坐标不变

home()

设置当前画笔位置为原点,朝向东。

dot(r)

绘制一个指定直径和颜色的圆点

setheading( to_angle)/turtle.seth(d) 设置小海龟当前行进方向角度为to_angle,该角度是实际的角度值。   to_angle :角度的整数值。

而如果要移动画笔而不留痕迹,比如在其他位置进行绘画,可以用

t.up()   画笔抬起,移动时不绘制图形

可以看到这时候后退是没有痕迹的

这就涉及到了画笔控制命令

down()

画笔落下,移动时绘制图形

up()

画笔抬起,移动时不绘制图形

reset()

恢复所有设置

pensize(width)

画笔的宽度

pencolor(colorstring)

画笔的颜色

fillcolor(colorstring)

绘制图形的填充颜色

turtle.filling() 返回当前是否在填充状态
turtle.begin_fill() 准备开始填充图形
turtle.end_fill() 填充完成
turtle.hideturtle() 隐藏画笔的turtle形状
turtle.showturtle() 显示画笔的turtle形状

海龟向右(right)转,或者让它后退(backward)。我们可以用向上(up)来把笔从纸上抬起来(换句话说就是让海龟停止作画),用向下(down)来开始作画。

这样可以很简单的画出一个平行线

最后还有几个控制画布的命令

turtle.clear()

清空turtle窗口,但是turtle的位置和状态不会改变

turtle.reset()

清空窗口,重置turtle状态为起始状态

turtle.undo()

撤销上一个turtle动作

stamp()

绘制(复制)当前图形

 注意clear和reset的区别,clear(画笔)海龟还是在原位置不变,只清除屏幕,reset则是全部重置

扩展知识:

我们可以创建多个画笔,来分别进行不同操作

实列演示:

绘制五角星


import turtle  #导入画图模块
import time  #导入时间模块t = turtle.Turtle()
turtle.screensize(1000,1000) #定义画布大小
t.pensize(10)  # 定义画笔的宽度
t.pencolor("yellow")  # 定义画笔颜色
t.fillcolor("red")  # 定义填充颜色t.begin_fill()  # 开始填充图像for i in range(5):  # 五角星循环五次t.forward(500)t.right(144)  # 右转144°
t.end_fill()  # 停止填充
time.sleep(2)  # 阻塞两秒t.penup()  # 提起笔,移动时不绘制图形
t.goto(-150, 120)  # 将画笔移动到某坐标点
t.color("violet")
t.write("Z小旋", font=('Arial', 40, 'normal'))  # 设置文字和字体

效果图

绘制心形

import turtlet = turtle.Turtle()
def curvemove():for i in range(200):t.right(1)t.forward(1)
t.speed(5)#设置画笔速度
t.color('red','pink')
t.begin_fill() #开始填充
t.left(140)
t.forward(111.65)
curvemove()
t.left(120)
curvemove()
t.forward(111.65)
t.end_fill() #结束填充
t.up() #抬起画笔
t.goto(-250, 100)  # 将画笔移动到某坐标点
t.color("violet")
t.write("Z小旋", font=('Arial', 40, 'normal'))  # 设置文字和字体

效果图

Python--turtle绘图模块讲解相关推荐

  1. python turtle循环图案-有趣的Python turtle绘图

    原标题:有趣的Python turtle绘图 Python Turtle是Python的一个编程教育类库,越来越受到教育者的关注,近日,以"智能时代,逐梦成长"为主题的第5届全国青 ...

  2. Python Turtle绘图[难度3星]:24节气倒计时(2.使用字典存储数据)

    "我喜欢turtle绘图,因为代码一点点的改动,总会带来意想不到的惊喜. 一些让我心动过的案例,分享给大家,也珍藏给自己." -- 初中信息技术教师  许华丽 Python Tur ...

  3. python创意绘图-有趣的Python turtle绘图

    原标题:有趣的Python turtle绘图 Python Turtle是Python的一个编程教育类库,越来越受到教育者的关注,近日,以"智能时代,逐梦成长"为主题的第5届全国青 ...

  4. qpython3手机版turtle_有趣的Python turtle绘图

    Python turtle 是向LOGO 语言的致敬,可以通过turtle.mode 函数予以调整,尽最大可能还原LOGO 语言中小海龟操作的特点. 随着Python 语言的流行和普及, 一位名叫Ra ...

  5. python turtle 绘图速度用函数会快吗_有趣的Python turtle绘图

    专 题 Feature Story 16 \ China Science & Technology Education 文 _ 毛京宇/北京师范大学第三附属中学 魏云靖/北京市师达中学 有趣的 ...

  6. Python Turtle绘图[难度2星]:甜美棒棒糖(基础效果 / 加描边优化)

    我喜欢turtle绘图,因为代码一点点的改动,总会带来意想不到的惊喜. 一些让我心动过的案例,分享给大家,也珍藏给自己. --Python教学路上的爬行者    案例1:棒棒糖(基础效果)       ...

  7. 巴斯光年python turtle绘图__附源代码

    巴斯光年python turtle绘图__附源代码 本文目录: 一.python turtle海龟绘图效果图 写在前面的题外话 二.绘图人物简介 三.代码演示方法和代码命令解释 四.怎么才能正常运行p ...

  8. 十分钟轻松学会python-10分钟轻松学会python turtle绘图

    python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),turtle库是python的内部库,使用导入即可 import turtle 先说明一下turtl ...

  9. Python Turtle 绘图[难度2星]:一朵雪花(基础代码 、 加变量/加自定义函数优化)

    2022年北京冬奥会开幕式上"一朵雪花"贯穿始终,给大家印象深刻.今天我们也让海龟来绘制一朵雪花.先绘制一朵普通雪花,在下一期分享中再让海龟来绘制一朵"中国结雪花&quo ...

  10. pythonturtle简单绘图_10分钟轻松学会 Python turtle 绘图

    10分钟轻松学会 Python turtle 绘图 python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),turtle库是python的内部库,使用导入即 ...

最新文章

  1. Activity生命周期的补充
  2. dropout比率最好的设置为0.5,因为随机生成的网络结构最多
  3. 一个好的组件应该是什么样的?
  4. Java ByteArrayOutputStream reset()方法及示例
  5. 启动metabase_引入开源BI软件Metabase——数据分析平台建设(一)
  6. 卧槽!AI 太火爆了!!!
  7. 设置matlab默认工作路径
  8. 杭电 1242题(深度优先搜索)
  9. TypeScript 类型兼容性整理
  10. 微信支付详细教程实战
  11. WordPress免认证微信关注登陆插件
  12. QQ机器人官方插件加载配置方法【beta2版本】
  13. 私人服务器用老旧电脑怎样改
  14. vue3学习之旅--邂逅vue3-了解认识Vue3(二)
  15. 三国志战略版:斩首骑——张辽与王元姬不得不说的故事
  16. Android应用程序资源的编译和打包过程分析
  17. 掉头发最该补的东西竟然是它?99%的人都不知道!
  18. C++基础知识:挂分小技巧
  19. 5G建设即将收官,杀手级应用还在路上
  20. 栅格化系统的原理以及实现

热门文章

  1. php判断简写,怎么简写php 中的三元运算符
  2. 特征编码2 - 无监督一维编码(序数编码、计数编码)及python示例
  3. pandas to_sql保存数据到数据库后,添加自增长的主键ID(PRIMARY KEY)
  4. 解决报错ModuleNotFoundError: No module named ‘fastText‘
  5. pandas查看两个series、list元素的包含关系(查看一个series的每个元素是否在另一个series中)
  6. Python捕获 Warning 警告
  7. rtsp服务器如何低延时linux,web实现RTSP无插件低延迟播放方案整理
  8. JAVA中for循环缩制表位_用vim中的空格替换制表符
  9. chattr 改变文件的扩展属性
  10. 将pdf书籍变成横排的方法