turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
兴趣是学习知识的动力,而可视化可以给人带来更多学习的兴趣。
首先,看一个简单的例子:
"""
turtle draw example
By LinYoUbiAo
2020-04-16
"""
import turtle
turtle = turtle.Turtle()
screen = turtle.getscreen()
turtle.pensize(7) # 笔宽度
turtle.speed('fast') # fastest fast normal slow slowest
colors = ['red', 'yellow', 'blue', 'black', 'green']
turtle.begin_poly()
turtle.left(180) # 逆时钟转180度
for x in range(50):
turtle.forward(10*x)
turtle.color(colors[x % 5])
turtle.left(144)
turtle.end_poly()
screen.mainloop()
运行代码,可以见到动态画出以下图形:
网络上好多这方面的例子,如下画树的:
代码如下:
import turtle
import random
from turtle import *
from time import sleep
t = turtle.Turtle()
w = turtle.Screen()
def tree(branchLen, t):
if branchLen > 3:
if 8 <= branchLen <= 12:
if random.randint(0, 2) == 0:
t.color('snow')
else:
t.color('lightcoral')
t.pensize(branchLen / 3)
elif branchLen < 8:
if random.randint(0, 1) == 0:
t.color('snow')
else:
t.color('lightcoral')
t.pensize(branchLen / 2)
else:
t.color('sienna')
t.pensize(branchLen / 10)
t.forward(branchLen)
a = 1.5 * random.random()
t.right(20*a)
b = 1.5 * random.random()
tree(branchLen-10*b, t)
t.left(40*a)
tree(branchLen-10*b, t)
t.right(20*a)
t.up()
t.backward(branchLen)
t.down()
def petal(m, t): # 树下花瓣
for i in range(m):
a = 200 - 400 * random.random()
b = 10 - 20 * random.random()
t.up()
t.forward(b)
t.left(90)
t.forward(a)
t.down()
t.color("lightcoral")
t.circle(1)
t.up()
t.backward(a)
t.right(90)
t.backward(b)
def main():
t = turtle.Turtle()
myWin = turtle.Screen()
getscreen().tracer(5, 0)
turtle.screensize(bg='wheat')
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')
tree(60, t)
petal(100, t)
myWin.exitonclick()
main()
真的好美。
更多的可以看以下链接:
https://www.zhihu.com/question/271643290
https://www.cnblogs.com/chen0307/articles/9645138.html
https://python123.io/index/turtle_drawing#turtle-drawing-drawings
#--------------------------------------------------------------------------------------
#多谢,亲爱的美。生活好有意思的。
#--------------------------------------------------------------------------------------