(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, mainloop
from time import clock
def 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 None
def 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()