主页 > GUI教程 > 正文

Python的画图模块turtle运用详解

简介:Turtle是Python言语中一个很盛行的简略的绘图东西。你能够把它理解为一个小海龟,只听得懂有限的指令。它在一个横轴为x、纵轴为y的坐标系原点,(0,0)方位开端,它依据一组函数指令的操控,在这个平面坐标系中移动,从而在它匍匐的途径上制造了图形。

turtle绘图的基础知识:

1. 画布(canvas)

画布便是turtle为咱们打开用于绘图区域,咱们能够设置它的巨细和初始方位。

设置画布巨细

turtle.screensize(canvwidth=None, canvheight=None, bg=None),参数分别为画布的宽(单位像素), 高, 布景色彩。

如:

turtle.screensize(800,600, "green")

turtle.screensize() #回来默许巨细(400, 300)

turtle.setup(width=0.5, height=0.75, startx=None, starty=None),参数:width, height: 输入宽和高为整数时, 表明像素; 为小数时, 表明占有电脑屏幕的份额,(startx, starty): 这一坐标表明矩形窗口左上角极点的方位, 假如为空,则窗口坐落屏幕中心。

如:

turtle.setup(width=0.6,height=0.6)

turtle.setup(width=800,height=800, startx=100, starty=100)

2. 画笔

2.1 画笔的状况

在画布上,默许有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这儿咱们描绘小乌龟时运用了两个词语:坐标原点(方位),面朝x轴正方向(方向), turtle绘图中,便是运用方位方向描绘小乌龟(画笔)的状况。

2.2 画笔的特点

画笔(画笔的特点,色彩、画线的宽度等)

1) turtle.pensize():设置画笔的宽度;

2) turtle.pencolor():没有参数传入,回来当时画笔色彩,传入参数设置画笔色彩,能够是字符串如"green", "red",也能够是RGB 3元组。

3) turtle.speed(speed):设置画笔移动速度,画笔制造的速度规模[0,10]整数,数字越大越快。


3.绘图窗口的原点(0,0)在正中间。默许情况下,海龟向正右方移动。

4.操作海龟绘图有着许多的指令,这些指令能够划分为两种:一种为运动指令,一种为画笔操控指令

(1)运动指令:

forward(d) 向前移动间隔d代表间隔

backward(d) 向后移动间隔d代表间隔

right(degree) 向右滚动多少度

left(degree) 向左滚动多少度

goto(x,y) 将画笔移动到坐标为(x,y)的方位

stamp() 制造当时图形

speed(speed) 画笔制造的速度规模[0,10]整数


(2)画笔操控指令:

down() 画笔落下,移动时制造图形

up() 画笔抬起,移动时不制造图形

setheading(degree) 海龟(turtle)朝向,degree代表视点

reset() 康复一切设置

pensize(width) 画笔的宽度

pencolor(colorstring) 画笔的色彩

fillcolor(colorstring) 制造图形的填充色彩

circle(radius, extent) 制造一个圆形,其间radius为半径,extent为度数,例如若extent为180,则画一个半圆;如要画一个圆形,可不用写第二个参数


运用Python的turtle(海龟)模块画图

第一步:让Python引进turtle模块,引进模块便是告知Python你想要用它。

importturtle

第二步:创立画布。调用turtle中的Pen函数。

t=turtle.Pen()

第三步:移动海龟。

t.forward(50)

forward的中文意思是“向前地;促进”。所以这行代码的意思是海龟向前移动50个像素:

t.left(90)

让海龟左转90度


现在咱们能够测验画一个方块,思路便是行进-转向90度-行进,循环四次。

>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
>>> t,forward(50)
>>> t.left(90)
>>> t,forward(50)

作用如下:

第四步:擦除画布。

>>>t.reset()

重置指令(reset)这会铲除画布并把海龟放回开端的方位。

>>>t.clear()

铲除指令(clear)只铲除屏幕,海龟仍停留在原位。

咱们还能够让海龟向右(right)转,或许让它撤退(backward)。咱们能够用向上(up)来把笔从纸上抬起来(换句话说便是让海龟中止作画),用向下(down)来开端作画。

下面咱们归纳运用一下,画两条线。

>>> t.reset() //擦除画布并把海龟移回到开端方位
>>> t.backward(100) //撤退100个像素
>>> t.up() // 抬笔不再作画
>>> t.right(90) //向右转90度
>>> t.forward(20) //行进20个像素
>>> t.left(90) //向左转90度
>>> t.down() //着笔预备作画
>>> t.forward(100) //行进100个像素

作用如下:


实例: 制造太阳花

# coding=utf-8
import turtle
import time
# 一起设置pencolor=color1, fillcolor=color2
turtle.color("red", "yellow")
turtle.begin_fill()
for _ in range(50):
turtle.forward(200)
turtle.left(170)
turtle.end_fill()
turtle.mainloop()


作用:


总结

刚开端学用turtle模块作画,感觉就像小学刚开端作画相同。早年是拿起垂直接在纸上画,到现在运用Python作画时,感觉是把早年作画的动作分解开:预备画布——拿起笔预备作画——开端作画——放着笔不再作画。感觉很风趣,慢慢来,这才仅仅刚开端。


上一篇:python OpenCV 入门教程
下一篇:用python建立"百万赢家"主动查找答案

PythonTab微信大众号:

Python技能交流合作群 ( 请勿加多个群 ):

群1: 87464755

群2: 333646237

群3: 318130924

群4: 385100854