【Python】– Turtle绘图(使用代码画喜欢的图形!)

什么是Turtle?

turtle库是Python语言中一个很流行的绘制图像的函数库,可以想象一个小乌龟在爬行,它的爬行轨迹就是绘制出来的图形,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

一、画布的设置

方法:turtle.setup(width,height,startx,starty)

作用:设置主窗体的大小和位置

参数:

  • width 窗口宽度,整数表示像素值,小数表示窗口宽度与屏幕的比例
  • height: 窗口高度,整数表示像素值,小数表示窗口高度与屏幕的比例
  • startx:窗口左侧与屏幕左侧的像素距离,None表示窗口位于屏幕水平中央
  • starty:窗口顶部与屏幕顶部的像素距离,None表示窗口位于屏幕垂直中央

【Python】-- Turtle绘图(使用代码画喜欢的图形!)

二、画笔的控制

函数说明
down()画笔落下,移动时绘制图形
up()画笔抬起,移动时不绘制图形
setheading(degree)海龟朝向,degree代表角度
reset()恢复所有设置
pensize(width)画笔的宽度
pencolor(colorstring)画笔的颜色
fillcolor(colorstring)绘制图形的填充颜色
fill(True)
fill(False)
circle(radius,extent)绘制一个图形,其中radius为半径,extent为度数,例如若extent为180,则画一个半圆;如要画一个圆形,可不必写第二个参数
turtle.clear()清空turtle窗口,但是turtle的位置和状态不改变
turtle.reset()清空窗口,重置turtle状态为初始状态
turtle.undo()撤销上一个turtle动作
turtle.isvisible()返回当前turtle是否可见
stamp()复制当前图形
turtle.write(s[,font=("font-name",font_size,"font_type")])写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型;font为可选项,font的参数也是可选项

 三、运动命令

函数说明
forward(d)向前移动距离d代表距离
backward(d)向后移动距离d代表距离
right(degree)向右转动多少度
left(degree)向左转动多少度
goto(x,y)将画笔移动到坐标
stamp()绘制当前图形
speed(speed)

画笔绘制的速度范围[0,10]整数

 小海龟旋转时逆时针为正、顺时针为负,0度向东,90度向北,180度向西,270度向南;负值表示相反方向。

四、绘图实例

1、画一个边长为160的三角形

import turtle
a = 160
turtle.forward(a)
turtle.left(120)
turtle.forward(a)
turtle.left(120)
turtle.forward(a)
turtle.done() #done的作用是暂停程序,停止画笔绘制,但绘图窗体不关闭,没有它则窗口会在程序完成时立即关闭

【Python】-- Turtle绘图(使用代码画喜欢的图形!)

2、画一个边长为160的正方形

import turtle
a = 160
turtle.pencolor("red")
turtle.pensize(10)
turtle.pendown()
turtle.begin_fill()#此方法在绘制要填充的形状之前调用

turtle.fillcolor("black")

turtle.forward(a)
turtle.left(90)
turtle.forward(a)
turtle.left(90)
turtle.forward(a)
turtle.left(90)
turtle.forward(a)

turtle.end_fill()
turtle.done()

【Python】-- Turtle绘图(使用代码画喜欢的图形!)

3、画一个五角星

import turtle
turtle.color("red")
turtle.pensize(5)

for i in range(6):
    turtle.forward(100)
    turtle.right(144)

turtle.done()

【Python】-- Turtle绘图(使用代码画喜欢的图形!)

 4、画一个爱心

from turtle import *
def curvemove():
    for i in range(200):
        right(1)
        forward(1)
        
color("red","pink")
begin_fill()
left(140)
forward(111.65)
curvemove()
left(120)
curvemove()
forward(111.65)
end_fill()
done()

 【Python】-- Turtle绘图(使用代码画喜欢的图形!)

补充

典型RGB颜色对照表

英文名称

R.G.B.

十六进制

中文名称

white

255 255 255

#FFFFFF

白色

black

0 0 0

#000000

黑色

grey

190 190 190

#BEBEBE

灰色

darkgreen

0 100 0

#006400

深绿色

gold

255 215 0

#FFD700

金色

violet

238 130 238

#EE82EE

紫罗兰

purple

160 32 240

#A020F0

紫色

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年3月5日 下午3:10
下一篇 2023年3月5日 下午3:11

相关推荐