Python零基础入门学习18:常用标准库之turtle绘图库

:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性。

turtle库基本介绍

turtle库,1969年诞生,被Python语言借鉴,是Python的标准库。

turtle名称含义为“海龟”,我们想象一只海龟,位于显示器上窗体的正中心,在画布上游走,它游走的轨迹就形成了绘制的图形。海龟的运动是由程序控制的,它可以变换颜色,改变尺寸、大小等。利用turtle可以制作很多复杂的绘图。

turtle库绘图窗体布局
turtle.setup(width, height[, startx, starty])

setup()设置窗体大小及位置。width, height分别是窗体本身的宽度和高度,如下图所示。startx, starty是可选参数。

turtle的绘图窗体
turtle空间坐标体系
turtle空间坐标体系
turtle坐标
turtle坐标移动
turtle绝对角度坐标体系
turtle绝对角度的坐标系

$turtle.seth(angle)$用来改变海龟行进方向,参数angle为绝对角度(角度制的度数值,不带°号)。

turtle海龟角度的坐标系

用turtle.right(angle)和turtle.left(angle)来改变turtle行进的方向角度。
某个turtle绘图示例如下:

import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
RGB色彩体系

RGB由三种颜色构成的万物色。

  • RGB指红蓝绿三个通道的颜色组合。
  • 覆盖视力所能感知的所有颜色。
  • RGB每色取值范围是0255整数,或01小数。

turtle默认使用RGB的小数值改变颜色,turtle.colormode(mode)

  • 1.0:RGB小数值模式。
  • 255:RGB整数值模式。

拿紫色的RGB整数值模式(160, 32, 240)做例子,将其每个颜色数值除以255,保留两位小数,就能得到其RGB小数值模式(160/255, 32/255, 240/255),即(0.63, 0.13, 0.94)。

常用的RGB色彩1
常用的RGB色彩2
turtle画笔控制函数

画笔操作后一直有效,一般成对出现。

-turtle.penup(),别名turtle.pu()。

抬起画笔,海龟在飞行。这时的轨迹不在画布上形成痕迹。

-turtle.pendown(),别名turtle.pd()。

落下画笔,海龟在爬行。这时的轨迹在画布上形成痕迹。

turtle.pu()和turtle.pd()是成对出现的。

-turtle.pensize(width) 别名 turtle.width(width)。

画笔宽度,海龟的腰围。

-turtle.pencolor(color),color为颜色字符串或RGB值。

画笔颜色,海龟在涂装。

pencolor(color)的color参数可以有三种形式:

  • 颜色字符串:-turtle.pencolor("purple")
  • RGB的小数值:turtle.pencolor(0.63, 0.13, 0.94)
  • RGB的元组值:turtle.pencolor((0.63, 0.13, 0.94))
turtle运动控制函数

控制海龟行进:走直线&走曲线:

-turtle.forward(d) 别名 turtle.fd(d),走直线

向前行进,海龟走直线。d:行进距离,可以为负数。

-turtle.circle(r, extend=None),走曲线

根据半径r绘制extent角度的弧形。r是默认圆心在海龟左侧r距离的位置。extent是绘制角度,默认是360°即整圆;当extent为正数时,圆从turtle当前位置逆时针方向(即顺象限方向)画圆心角为|extent|角度(角度制)的弧形;当extent为负数时,圆从turtle当前位置顺时针方向(即逆象限方向)画圆心角为|extent|角度(角度制)的弧形。

turtle方向控制函数

控制海龟面对方向:绝对角度&海龟角度

-turtle.setheading(angle) 别名turtle.seth(angle)——绝对角度
改变行进方向,海龟走的绝对角度。angle:改变行进方向的绝对角度。

-turtle.left(angle), turtle.right(angle)

改变行进方向,海龟走的海龟角度。angle:改变行进方向的海龟角度。

“Python蟒蛇绘制”代码实例

import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
    turtle.circle(40, 80)
    turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
turtle.done() # 用来保持程序的图象存在。若没有这行,程序运行完成后会自动退出。

turtle.done() 用来停止画笔绘制,但绘图窗体不关闭。

To be continued.

你可能感兴趣的:(Python零基础入门学习18:常用标准库之turtle绘图库)