Python Turtle 绘图

Turtle 绘图


海龟绘图 (Turtle Graphics),原本是发明给儿童学习编程的。现在也移植到许多高级语言中,Python 也内置了 turtle 库,基本上能够复原 Turtle Graphics 的功能。

先看看如何用 turtle 进行绘图:

# 导入turtle包的所有内容:
from turtle import *

# 设置笔刷宽度:
width(4)

# 前进:
forward(200)
# 右转90度:
right(90)

# 笔刷颜色:
pencolor('red')
forward(100)
right(90)

pencolor('green')
forward(200)
right(90)

pencolor('blue')
forward(100)
right(90)

# 调用done()使得窗口等待被关闭,否则将立刻关闭窗口:
done()

上面示例中实现的效果如下图:

矩形

在这个例子中,就是指挥海龟移动,而移动的轨迹就是绘制的线条。在这里,绘制矩形,就是让海龟前进,右转 90 度,反复 4 次。

上面的代码中,width() 用来设置画笔的宽度, pencolor() 用来设置画笔颜色。还有更多的操作可以参考官网的说明:

https://docs.python.org/3.7/library/turtle.html#turtle-methods

示例中,最后的有个 done() 函数,这个函数主要的作用是阻塞,让窗口进入消息循环,等待被关闭。若是没有调用这个参数,程序会在图形绘制完后直接关闭窗口。

turtle 的函数都非常简单。当需要使用时,可以直接在官网进行查询印证使用。

在这里,也尝试使用 turtle 绘制 HELLO WORLD 字样。

# -*- coding: utf-8 -*-
"""
@Time: 2020/3/15 21:01
@File: turtle_.py
@Author: Damon
@Contact: yiluolion@126.com
"""

# put the import lib here
from turtle import *

width(4)

pu()
goto(-450, 0)
pd()
rt(90)
fd(80)
pu()
rt(180)
fd(40)
rt(90)
pd()
fd(60)
pu()
lt(90)
fd(40)
pd()
rt(180)
fd(80)

pu()
goto(-370, 0)
lt(90)
pd()
fd(60)
pu()
rt(180)
fd(60)
lt(90)
pd()
fd(80)
lt(90)
fd(60)
pu()
goto(-370, -40)
pd()
fd(60)


pu()
goto(-290, 0)
rt(90)
pd()
fd(80)
lt(90)
fd(60)

pu()
goto(-210, 0)
rt(90)
pd()
fd(80)
lt(90)
fd(60)

pu()
goto(-130, 0)
pd()
fd(60)
rt(90)
fd(80)
rt(90)
fd(60)
rt(90)
fd(80)

pu()
goto(0, 0)
rt(160)
pd()
fd(82)
lt(140)
fd(82)
rt(140)
fd(82)
lt(140)
fd(82)

pu()
goto(130, 0)
rt(70)
pd()
fd(60)
rt(90)
fd(80)
rt(90)
fd(60)
rt(90)
fd(80)

pu()
goto(210, 0)
rt(180)
pd()
fd(80)
pu()
rt(180)
fd(80)
rt(90)
pd()
fd(50)
rt(45)
fd(14.14)
rt(45)
fd(20)
rt(45)
fd(14.14)
rt(45)
fd(50)
# fd(60)
# rt(90)
# fd(40)
# rt(90)
# fd(60)
pu()
rt(180)
fd(40)
pd()
rt(60)
fd(44.72)

pu()
goto(290, 0)
rt(30)
pd()
fd(80)
lt(90)
fd(60)

pu()
goto(370, 0)
rt(90)
pd()
fd(80)
pu()
rt(180)
fd(80)
rt(90)
pd()
fd(50)
rt(45)
fd(14.14)
rt(45)
fd(60)
rt(45)
fd(14.14)
rt(45)
fd(50)

done()

上面的例子中,rt() 表示右转,lt() 表示左转,fd() 表示前进,pu() 表示提起画笔,pd 表示落下画笔。

下面看看实现的效果:

实现效果

turtle 使用非常简单。如果想要绘制一些图形,需要花时间的部分主要是设计 turtle 的走向。如果觉得有意思的话,也可以尝试一下。


以上就是本篇的主要内容


欢迎关注微信公众号《书所集录》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值