用Python Turtle画出彩色的星星图案
在这篇文章中,我们将使用Python的Turtle库来绘制一个由星星组成的螺旋形图案,其中充满随机生成的颜色。我们可以通过改变一些参数来生成不同的图案。
需要的模块:
turtle:
turtle库使用户能够使用命令绘制图片或形状,为他们提供了一个虚拟画布。
turtle带有Python的标准库。它需要一个支持Tk的Python版本,因为它使用tkinter来制作图形。
解释:
首先,我们设置螺旋的每个参数:星星的数量、星星的外部角度和螺旋的旋转角度。颜色是通过选择三个随机整数的rgb值来随机选择的,所以每次我们都得到不同的颜色组合。
在下面的实现中,我们将画一个由30颗星星组成的图案,外角为144度,旋转角为18度。
from turtle import * import random
speed(speed ='fastest')
def draw(n, x, angle):
# loop for number of stars
for i in range(n):
colormode(255)
# choosing random integers
# between 0 and 255
# to generate random rgb values
a = random.randint(0, 255)
b = random.randint(0, 255)
c = random.randint(0, 255)
# setting the outline
# and fill colour
pencolor(a, b, c)
fillcolor(a, b, c)
# begins filling the star
begin_fill()
# loop for drawing each star
for j in range(5):
forward(5 * n-5 * i)
right(x)
forward(5 * n-5 * i)
right(72 - x)
# colour filling complete
end_fill()
# rotating for
# the next star
rt(angle)
# setting the parameters
n = 30 # number of stars
x = 144 # exterior angle of each star
angle = 18 # angle of rotation for the spiral
draw(n, x, angle)
输出:
通过改变外角为72,我们可以得到一个这样的五角星图案。
20个五边形,18度螺旋形