📜  在 Turtle 中绘制彩色星形图案 - Python

📅  最后修改于: 2022-05-13 01:54:46.160000             🧑  作者: Mango

在 Turtle 中绘制彩色星形图案 - Python


在本文中,我们将使用 Python 的海龟库来绘制一个由随机生成的颜色填充的星形螺旋。我们可以通过改变一些参数来生成不同的模式。

所需模块:

龟:

海龟库使用户能够使用命令绘制图片或形状,为他们提供虚拟画布。
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度螺旋