海龟绘图简易教程

作者: zx576 | 来源:发表于2017-04-05 11:22 被阅读2368次

0、前言

turtle 是 python 内置的一个比较有趣味的模块,俗称 海龟绘图,它是基于 tkinter 模块打造,提供一些简单的绘图工具,海龟作图最初源自 20 世纪 60 年代的 Logo 编程语言,之后一些很酷的 Python 程序员构建了 turtle 库,让其他程序员只需要 import turtle,就可以在 Python 中使用海龟作图。

1、基本功能介绍

在海龟作图中,我们可以编写指令让一个虚拟的(想象中的)海龟在屏幕上来回移动。这个海龟带着一只钢笔,我们可以让海龟无论移动到哪都使用这只钢笔来绘制线条。通过编写代码,以各种很酷的模式移动海龟,我们可以绘制出令人惊奇的图片。使用海龟作图,我们不仅能够只用几行代码就创建出令人印象深刻的视觉效果,而且还可以跟随海龟看看每行代码如何影响到它的移动。这能够帮助我们理解代码的逻辑。所以海龟作图也常被用作新手学习 Python 的一种方式。

1.1 Turtle motion (运动控制)

本节中包含了 运动控制 中常用的一些函数

turtle.goto(x,y)
画笔定位到坐标(x,y)

turtle.forward(distance)
向正方向运动 distance 长的距离

turtle.backward(distance)
向负方向运动 distance 长的距离

turtle.right(angle)
向右偏 angle 度

turtle.left(angle)
向左偏 angle 度

turtle.home()
回到原点

turtle.circle(radius, extent=None, steps=None)
画圆形 radius 为半径,extent 为圆的角度

turtle.speed(speed)
以 speed 速度运动

看到这么多函数肯定已经头大了,我们以例题来讲解。
首先画一个边长为100的正方形,然后再以半径为50画出其3/4圆。

# 控制画笔的速度
turtle.speed(5)
# 将画笔定位到原点
turtle.goto(0,0)
# 从原点开始,画出一个边长为100的正方形
for i in range(4):
    # 正向运动 100 的距离
    turtle.forward(100)
    # 向右偏 90 度
    turtle.right(90)

# 将画笔定位到原点
turtle.home()
# 画出一个半径为100,占3/4的圆
turtle.circle(50,270)

最后得到以下结果:

Paste_Image.png
1.2 Pen control (画笔控制)

本节包含了对画笔的控制函数,常用的如下:

turtle.pendown()
落笔,在此状态下会画出运动的轨迹
turtle.penup()
起笔,在此状态下不会画出运动的轨迹
turtle.pensize(width=None
画笔粗细
turtle.pencolor(*args
画笔颜色
turtle.fillcolor(*args)
填充颜色
turtle.begin_fill()
开始填充
turtle.end_fill()
结束填充
turtle.write(arg, move=False, align=”left”, font=(“Arial”, 8, “normal”))
写文字

同样,我们以一个例题来讲解。
画一个正方形并填充,最后写一些文字


# 控制画笔颜色
turtle.pencolor('red')
# 落笔
turtle.pendown()
# 设置填充颜色
turtle.fillcolor('blue')
# 开始填充
turtle.begin_fill()
# 从原点开始,画出一个边长为100的正方形
for i in range(4):
    # 正向运动 100 的距离
    turtle.forward(200)
    # 向右偏 90 度
    turtle.right(90)
# 结束填充
turtle.end_fill()
turtle.penup()
turtle.goto(100,-100)
turtle.write('Crossin编程教室')

最后的结果是这样

Paste_Image.png

同时,我们还可以设置画笔打粗细、画笔的速度等属性,

1.2 Window control (视窗控制)

这里有两个常用的函数

turtle.bgcolor(*args)
设置背景颜色
turtle.bgpic(picname=None)
背景图片填充
设置代码如下


turtle.bgcolor('red')
turtle.bgpic(r'yourpic.png')

2、海龟绘图实例

我们用几个简单的例子讲解海龟绘图的用法。

2.1 用正方形画圆

import turtle
for i in range(360):
    turtle.setheading(i)
    for i in range(4):
        turtle.forward(100)
        turtle.left(90)

360 个正方形每隔 1 度排列,短短几行代码可以生成一个漂亮规则的图形。

Paste_Image.png
2.2 红色的五角星

使用填充功能画出一个大红星

import turtle
turtle.color('red','red')
turtle.begin_fill()
for i in range(5):
    turtle.forward(100)
    turtle.right(144)
turtle.end_fill()

结果如图:

Paste_Image.png

2.3 练习题

讲的再多也不如自己动手做一做,我们在网上挑选了几张使用 turtle 做的有意思的图片,自己动手试试吧

Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png

3、后记

更丰富详细的功能及知识可以参考:

官方文档https://docs.python.org/3/library/turtle.html
海龟作图—用Python 绘图http://www.epubit.com.cn/book/onlinechapter/37788
Simple drawing with turtlehttps://opentechschool.github.io/python-beginners/en/simple_drawing.html#
Hello, little turtles!http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html
Turtle exampleshttps://michael0x2a.com/blog/turtle-examples
Easy Designs - Turtle Graphics Pythonhttp://www.instructables.com/id/Easy-Designs-Turtle-Graphics-Python/


欢迎加入 Crossin的编程教室
crossincode.com
新手入门QQ群:553518572
微信请加 crossin11 留言入群(新手/进阶)

9f1e0f6.jpg

请把我们分享给身边爱学习的小伙伴 :)

相关文章

  • 海龟绘图简易教程

    0、前言 turtle 是 python 内置的一个比较有趣味的模块,俗称 海龟绘图,它是基于 tkinter ...

  • 海龟绘图

    1.Turtle state 2.Turtle motion 3.Pen control turtle.reset...

  • 海龟绘图法

    海龟绘图属性: a.位置 b.方向 c.画笔(颜色,画线的宽度) 海龟绘图命令: 1.运动命令 2.画笔控制命...

  • python 海龟作图

    turtle绘图 turtle绘图是python中引入的一个简单绘图工具,利用turtle模块绘图又被称为海龟作图...

  • turtle库

    海龟是一种真实的存在,包括绘图窗体布局,空间坐标体系等,海龟视角更容易理解

  • Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 t

    前面的教程中,我们已经可以让小海龟绘制出各种图形了。但是,所有绘图的代码都是预先编好的,程序一旦运行起来,运行结果...

  • 海龟绘图(turtle)

    1.绘制正方形 2.绘制象棋棋盘,完成了一半

  • turtle 海龟绘图

    导入turtle包 import turtle # 导入turtle库 import turtle # 设置窗体(...

  • iOS绘图详解(链接)

    iOS绘图详解iOS绘图教程

  • WebGL简易教程 地理地形绘制

    WebGL简易教程(一):第一个简单示例 WebGL简易教程(二):向着色器传输数据 WebGL简易教程(三):绘...

网友评论

    本文标题:海龟绘图简易教程

    本文链接:https://www.haomeiwen.com/subject/hzptattx.html