Python turtle库绘制螺旋正方形与彩色图形详解

沈知远
沈知远
发布时间:2026-10-15 | 6人浏览过
原创

本文详细介绍Python中turtle库的基础用法,包括如何安装该库、理解画布坐标系以及掌握画笔控制和图形绘制方法。通过蓝色螺旋正方形和彩色螺旋正方形的具体代码示例,展示如何利用循环和颜色设置绘制出直观的动态图形,适合Python初学者快速入门图形编程。

使用Python的turtle库来绘制螺旋正方形

1. 螺旋正方形实现

import turtle  #导入turtle库
turtle.pensize(2) #设置画笔的宽度(2)
for i in range(100):  #循环(画)100次
   turtle.fd(i + (i * 2)) #每次循环画笔长度i+(i*2)
   #(不能覆盖掉i-1的正方形的意思?)
   turtle.left(90) #左转90°
turtle.hideturtle() #隐藏画笔
turtle.done()   #停留画面

运行结果展示:

2. 彩色螺旋正方形实现

import turtle #导入turtle库
turtle.pensize(2)  #设置画笔的宽度(2)
turtle.bgcolor("black") #背景颜色(黑色)
colors = ["blue","yellow","red","pink"] #定义颜色(4中颜色)
for i in range(120):        #循环(画)120次
    turtle.pencolor(colors[i % 4]) #画笔颜色
    turtle.fd(i+(i*2))   #每次循环画线长度i+(i*2)
    turtle.left(90)    #左转90°
turtle.hideturtle()   #隐藏画笔
turtle.done()    #停留画面

运行结果展示:

第三方库turtle的应用场景

turtle库是Python中用于绘制图形的内置函数库。其名称意为“海龟”,绘图过程可形象地描述为一只海龟在画布上爬行所留下的轨迹,从而形成图形,这种机制使得绘图过程非常直观易懂。

1. 通过pip安装turtle库

打开命令行工具(cmd),输入以下命令进行安装:

pip install turtle

2. 理解绘图坐标系

在turtle画布中,默认原点位于画布中心,坐标为(0,0)。X轴左侧代表后退方向,右侧代表前进方向;Y轴上方代表左方,下方代表右方。

使用turtle.setup(width, height, top, left)函数可设置绘图窗口。参数width和height分别指定窗口的宽度和高度,若为整数则以像素为单位,若为小数则表示占屏幕的比例。参数top和left指定窗口左上角距离屏幕边界的距离,若设为None则窗口居中显示(通常无需设置这两个参数)。

3. turtle的画笔控制方法

turtle的画笔控制主要用于设置画笔状态,包括控制画笔的抬起与落下、设定画笔宽度及颜色等属性。

turtle的画笔控制方法
方法功能
turtle.pensize()/width设置画笔的宽度,若为空则返回当前画笔的宽度
turtle.pendown()/pd()/down()放下画笔,即结束图形绘制
turtle.penup()/pu()/up()提起画笔,用于移动画笔位置
turtle.pencolor(colorstring)/pencolor((r,g,b))设置画笔颜色,第一个为颜色字符串,例('blue');第二个为颜色值取值表示

4. turtle的图形绘制方法

该类方法涵盖画笔的前进、后退及方向控制等功能,用于实现具体的图形绘制逻辑。

turtle的图形控制方法
方法功能
turtle.seth(angle)/setheading(angle)改变画笔绘制方向,angle是绝对方向的绝对值
turtle.fd(distance)/forward(distance)控制画笔沿当前方向前进distance距离,distance的单位是像素,当值为负数时,表示向相反的的方向前进
turtle.circle(radius,extents)用来绘制一个弧形,根据半径radius绘制extens角度的弧形
turtle.left(angle)向左旋转angle角度
turtle.setx(x)将当前x轴移动到指定位置,x的单位是像素
turtle.sety(y)将当前轴y移动到指定位置,y的单位是像素
turtle.right(angle)向右旋转angle角度
turtle.shape("name")设置画笔的形状,例:将name设置成‘turtle’
turtle.speed(num)设置画笔的速度,num是一个整数
turtle.hideturtle()隐藏画笔

5. 简单应用示例

绘制蓝色螺旋正方形的代码实现

import turtle as tt
 
'''绘制蓝色正方形螺旋'''
tt.setup(400, 300)  # 设置窗口大小
tt.pensize(1)  # 设置画笔宽度
tt.pencolor('blue')  # 设置画笔颜色
tt.shape('turtle')  # 设置画笔形状
tt.speed(5)  # 设置画笔速度
a = 5    #设置画笔起始位置
for i in range(40):
    a += 5
    tt.left(90)
    tt.fd(a)
tt.hideturtle()    #隐藏画笔
tt.done()    #放下画笔,结束绘制

以上为个人经验分享,希望能为大家提供参考,也希望大家多多支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表