阅读 71

如何利用Python的Turtle模块来绘图?

Turtle简介

Turtle 是 Python 中自带的绘图模块,无需额外安装,使用比较方便。
Turtle最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言。
Turtle中的方法有很多,我们这里只会介绍其中几种常用方法,更多的方法可以去官方文档了解,官方文档地址如下:Turtle官方文档

Turtle的画板和画笔

我们可以把Turtle运行的环境看作一个空白的画板,默认状态下画笔的初始位置在画板最中间的位置(0,0),以此为原点形成一个看不见的坐标系,而坐标的刻度单位为像素。我们实际上就是利用Turtle控制画笔在画板上画画。
画笔是可以设置形状的,默认为一个小箭头,我们可以使用turtle.shape('turtle') 把画笔设置为一只小乌龟。小乌龟的头默认是朝向东的。画笔的形状和颜色都可以设置成其他的多种选择,我们这里不详细介绍。

用Turtle画图

直线

最简单的就是利用Turtle画直线,举例来说我们想画一条50像素的红色直线:

import turtle

turtle.shape('turtle') 
turtle.color('red')
turtle.forward(50)

复制代码

正方形

import turtle

turtle.shape('turtle')
turtle.color('yellow')
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
复制代码

红色五角星

import turtle

turtle.color('red')
turtle.hideturtle()

turtle.begin_fill()  # 开始填充
for i in range(5):
  turtle.forward(50)
  turtle.right(144)
turtle.end_fill()  # 结束填充
复制代码

白色满天星

import turtle
from random import randint

def draw_star():
  turtle.color('white')
  turtle.hideturtle()
  turtle.begin_fill()
  for i in range(5):
    turtle.forward(10)
    turtle.right(144)
  turtle.end_fill()

for i in range(50):
  turtle.speed(0)
  turtle.penup()
  x = randint(-150, 150)
  y = randint(-100, 100)
  turtle.goto(x, y)
  turtle.pendown()
  draw_star()

turtle.penup()
turtle.goto(0, -130)
turtle.pendown()
复制代码