在Python中用Turtle绘图真的很有趣。我们将看看如何使用Python中的Turtle库绘制另一种类型的多边形,即三角形。
定义一个三角形函数
为了画一个三角形,我们要使用一个函数,而且它应该使用变量。我们这样做的目的是,如果我们想画许多不同大小的三角形,我们可以多次调用这个函数。
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('triangle')
def draw_triangle(length=150):
for i in range(3):
forward(length)
left(120)
draw_triangle()
done()

很好!三角形函数起作用了。请注意,循环使用了range(3)显示的3次迭代,而当我们画一个正方形时,它在循环中使用了4次迭代。我们注意到的另一件事是,我们为left()函数传入了120度的转角。这是为什么呢?这是因为在画三角形时,你需要使用外角而不是内角。我们在这里画的是一个等边三角形,因为等边三角形的所有三个角加起来都是180度。

绘制更多的三角形
现在我们可以使用draw_triangle()函数几次,结合将乌龟移到画布上的不同位置,以获得漂亮的效果。
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('triangle')
def draw_triangle(length=150):
for i in range(3):
forward(length)
left(120)
draw_triangle()
right(180)
forward(100)
right(180)
draw_triangle(200)
done()

下面的迭代将这一想法向前推进了一步,在画布上的不同位置绘制三个三角形。
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('triangle')
def draw_triangle(length=150):
for i in range(3):
forward(length)
left(120)
draw_triangle()
right(180)
forward(100)
right(180)
draw_triangle(200)
right(180)
forward(100)
right(180)
draw_triangle(250)
done()

在一个循环中绘制三角形
在一个循环中调用draw_triangle()可以产生一些非常酷的效果。
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('triangle')
def draw_triangle(length=150):
for i in range(3):
forward(length)
left(120)
for i in range(20):
draw_triangle()
right(1)
done()

from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('triangle')
def draw_triangle(length=150):
for i in range(3):
forward(length)
left(120)
for i in range(40):
draw_triangle()
right(10)
done()

