当前位置:   article > 正文

Python基础教程:Turtle绘制图形

turtle绘制

在这里插入图片描述

前言

在Python中,绘图是一个非常有趣的领域。其中比较流行的绘图库就有 Turtle。Python Turtle模块是一个基于Tkinter图形库的绘图工具,Turtle库可以让你在一个窗口中创建和操纵它的画布,通过学习Turtle库的使用,刚好可以为提供了一个很好的机会学习Python的基本语法。 本篇教程将会介绍Turtle库,让你快速了解如何在Python中使用它来创建和修改图形,并附有一些示例代码。

1.安装Turtle库

在学习Turtle库之前,我们需要安装它。在命令行中输入以下命令即可完成安装:

pip install turtle
  • 1

2.基本语法

  • turtle.forward(x):向前走x个像素
  • turtle.backward(x):向后走x个像素
  • turtle.left(x):左转x度
  • turtle.right(x):右转x度
  • turtle.penup():抬起画笔
  • turtle.pendown():放下画笔
  • turtle.reset():清空画布

下面是一个简单的例子,展示如何使用Turtle库绘制一个等边三角形:

import turtle

turtle.forward(500)
turtle.left(120)
turtle.forward(500)
turtle.left(120)
turtle.forward(500)
turtle.left(120)
turtle.done()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

运行这段脚本,图形就画好了! img 我们还可以设置画笔的颜色和宽度,并控制画笔旋转来画一个圆。


import turtle
# 创建对象
my_turtle = turtle.Turtle()
# 创建图形窗口
window = turtle.screen
# 设置填充颜色
my_turtle.fillcolor("blue")
# 开始填充
my_turtle.begin_fill()
# 绘制一个正方形
for _ in range(4):
    my_turtle.forward(100)
    my_turtle.right(90)
# 结束填充
my_turtle.end_fill()
# 移动到指定位置
my_turtle.goto(-50, -50)
# 改变画笔的颜色
my_turtle.color("red")
# 绘制一个圆形
my_turtle.circle(50)
# 运行窗口事件循环
window.mainloop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

运行以上代码,你将看到一个蓝色填充的正方形和一个红色的圆形。实际项目中你可以根据需要,修改代码中的参数和绘制命令,创建自己想要的图形效果。 python turtle 号外!动动手,编写一个turtle程序,用python画一个老板给你画的的大饼。

3.交互事件

使用Python Turtle模块处理事件可以为用户提供与图形界面的交互体验。 例如,我们使用键盘的左右方向键来控制turtle箭头的方向,每次旋转90°。用上下方向键来控制画笔前进或者后退。

3.1 键盘事件处理示例

import turtle

def move_forward():
    turtle.forward(50)

def move_backward():
    turtle.backward(50)

def rotate_left():
    turtle.left(90)

def rotate_right():
    turtle.right(90)

# 创建海龟对象
turtle = turtle.Turtle()

# 创建图形窗口
window = turtle.screen

# 监听键盘事件
window.onkey(move_forward, "Up")
window.onkey(move_backward, "Down")
window.onkey(rotate_left, "Left")
window.onkey(rotate_right, "Right")

# 启用事件监听
window.listen()

# 运行窗口事件循环
window.mainloop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

在上述示例中,我们定义了四个函数move_forward()、move_backward()、rotate_left()和rotate_right(),分别用于在按下相应的键时移动海龟。我们通过调用window.onkey()函数将这些函数绑定到相应的键盘事件上。然后,通过调用window.listen()启用事件监听。

3.2 鼠标事件处理

我们定义了一个名为on_click()的函数,用于在鼠标单击图形窗口时移动 turtle 到相应的位置。我们通过调用window.onclick()函数将该函数绑定到鼠标单击事件上。这样便可实现,鼠标指哪,turtle打哪!

import turtle

def on_click(x, y):
    turtle.goto(x, y)

# 创建海龟对象
turtle = turtle.Turtle()

# 创建图形窗口
window = turtle.screen

# 监听鼠标点击事件
window.onclick(on_click)

# 运行窗口事件循环
window.mainloop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

这只是事件处理的简单示例,你可以根据需要扩展这些代码来实现更复杂的交互效果。 记得通过调用 window.mainloop() 启动窗口事件循环,以保持程序运行并等待事件的发生。

4. 动画效果


import turtle
# 创建海龟对象
my_turtle = turtle.Turtle()
# 创建图形窗口
window = turtle.screen
# 创建动画效果
def animate():
    my_turtle.forward(200)
    my_turtle.right(90)
    my_turtle.lt(2)
    window.ontimer(animate, 200)  # 每200毫秒重新调用动画函数
# 启动动画
animate()
# 控制动画速度
my_turtle.speed(200)  # 设置速度为2,数字越大,绘制速度越快
# 运行窗口事件循环
window.mainloop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

运行上述代码,你将看到一个这样的图形,像是一块地砖。 img

5. 总结

Python Turtle是初学者能通过可视化体验python编程的良好途径。当你熟悉这些基本步骤后,你可以尝试更复杂的图形和动画,比如网上很多画的哆啦A梦,小猪佩奇,滑稽的表情等等。

当我们刚开始学习Python时,往往会有很多人希望能够速成。有这样的积极学习的热情毫无疑问是非常好的,但拥有热情的同时,也容易被热情冲昏头脑。学习从来就不是一蹴而就的事情,而是靠日积月累。无论身处什么样的环境,降低焦虑是最能提升效率的方法。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/167223
推荐阅读
相关标签
  

闽ICP备14008679号