(1)turtle库的概述
turtle库是python重要的标准库之一,它能够进行简单的图形绘制。turtle库绘制图形有一个基本的框架,以窗体中心为坐标原点建立平面直角坐标系。
(2)turtle库绘图的基本方法
1)窗体函数setup(width,height,startx,starty)
setup()函数用于设置画布的大小和位置,参数包括画布窗口宽,高,窗口在屏幕的起始位置和垂直位置
例如:setup(640,500,350,350)表示在桌面(350,350)位置开始创建640*500大小的画布窗体
2)画笔状态函数
penup():没有参数,作用是提起画笔后移动画笔不会再绘制图形
pendown():没有参数,作用是放下画笔后移动画笔可以再绘制图形
pensize(width):参数是所要设置画笔的宽度,无参数时返回当前的画笔宽度
pencolor(color):参数用来设置画笔的颜色,无参数时返回当前画笔的颜色
color():设置画笔和填充颜色
begin_fill():在填充图形之前调用
end_fill():在填充图形之后调用,表示填充颜色结束
filling():返回填充的状态,True表示已填充,False表示没有填充
clear():清空当前窗口,但不改变当前画笔的位置
reset():清空当前窗口,并把所有状态重置为默认值
screensize():设置画布的宽,高,背景颜色
hideturtle():隐藏画笔的turtle形状
showturtle():显示画笔的turtle形状
isvisible():如果turtle可见,返回True
write():输出中文标签,可选的参数有对齐方式align(left,center,right),font元组形字体设置(字体,字号,字形)
3)画笔运动函数
forward(distance):把画笔当前方向前进distance距离。
backward(distance):当前的相反方向后退distance距离
right(angle):向右旋转angle角度
left(angle):向左旋转angle角度
goto(x,y)把当前坐标移动到坐标(x,y)处
seth(to_angle):设置画笔的当前朝向为to_angle角度,该角度为绝对方向角度值
home():设置当前画笔位置为原点,向右为正
circle(radius,extent=None):根据半径radius绘制角度为extent的图形;当不给extent参数或者extent=None时,绘制整个圆形
eg1:绘制一个五角星
from turtle import *fillcolor("red")begin_fill()for i in range(5): fd(200) right(144)end_fill()
eg2:使用turtle库绘制树形
from turtle import Turtle, mainloopfrom time import clockdef tree(plist,l,a,f): if l>3: lst=[] for p in plist: p.forward(l) q=p.clone() p.left(a) q.right(a) lst.append(p) lst.append(q) for x in tree(lst,1*f,a,f): yield Nonedef maketree(): p=Turtle() p.setundobuffer(None) p.hideturtle() p.speed(0) p.getscreen().tracer(30,0) p.left(90) p.penup() p.forward(-210) p.pendown() t=tree([p],200,65,0.6375) for x in t: pass print(len(p.getscreen().turtles()))def main(): a=clock() maketree() b=clock() return "done:%.2f sec."%(b-a)if __name__=="__main__": msg=main() print(msg) mainloop()