Impresión de estrellas fractales usando Turtle en Python

Prerrequisito: Conceptos básicos de programación de turtle

Los fractales son objetos que tienden a tener estructuras autosimilares repetidas un número finito de veces. El objetivo de este artículo es dibujar un fractal estelar donde se dibuja una estructura estelar en cada esquina de la estrella y este proceso se repite hasta que el tamaño de entrada se reduce a un valor de 10 . Para lograr este patrón fractal de estrellas se utiliza el módulo Turtle .

Métodos utilizados 

  • adelante (valor): Mueve la Turtle en dirección hacia adelante.
  • speed(value): Cambia la velocidad de la Turtle.
  • penup(): Deja de dibujar.
  • pendown(): Empezar a dibujar.
  • left(value): Mueve la Turtle hacia la izquierda.

Acercarse

  1. Tortuga importada.
  2. Inicializar la Turtle.
  3. Cambia el color de fondo.
  4. Haz una función para dibujar una estrella.
  5. Llame a la función anterior recursivamente dentro del ciclo for para hacer el patrón de inicio completo.

A continuación se muestra la implementación del enfoque anterior.

Python3

# import turtle
import turtle
  
# initialise turtle instance
stars = turtle.Turtle()
  
# increases the speed of turtle
stars.speed(10)
  
# to change the background color
stars.getscreen().bgcolor("black")
stars.color("red")
  
# stop drawing
stars.penup()
  
# move the turtle
stars.goto((-200, 50))
  
# start drawing
stars.pendown()
  
# function to draw stars
def star(turtle, size):
    if size <= 10:
        return
    else:
        for i in range(5):
            
            # moving turtle forward
            turtle.forward(size)
            star(turtle, size/3)
  
            # moving turtle left
            turtle.left(216)
  
  
# calling the star function
star(stars, 360)
turtle.done()

Producción:

Publicación traducida automáticamente

Artículo escrito por aaditya_bhargav y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *