Copos de nieve Fractal usando Python

Para crear fractales de copos de nieve utilizando la programación de Python
¿Qué son los fractales?
 

Un fractal es un patrón interminable. Los fractales son patrones infinitamente complejos que son autosimilares en diferentes escalas. Se crean repitiendo un proceso simple una y otra vez en un ciclo de retroalimentación continuo. Impulsados ​​por la recursividad, los fractales son imágenes de sistemas dinámicos: las imágenes del Caos.

¿Qué es la programación de turtle en Python? 
 

Los gráficos de turtle son una forma popular de presentar la programación a los niños. Era parte del lenguaje de programación Logo original desarrollado por Wally Feurzig y Seymour Papert en 1966.
Imagine una Turtle robótica que comienza en (0, 0) en el plano xy. Después de importar una Turtle, dale el comando turtle.forward(15) y se moverá (¡en la pantalla!) 15 píxeles en la dirección hacia la que mira, dibujando una línea a medida que se mueve. Dale el comando turtle.right(25), y rotará 25 grados en el sentido de las agujas del reloj.
Al combinar estos y otros comandos similares, se pueden dibujar fácilmente formas e imágenes complejas.
El módulo Turtle es una reimplementación extendida del módulo del mismo nombre de la distribución estándar de Python hasta la versión Python 2.5.
Intenta mantener los méritos del antiguo módulo Turtle y ser (casi) 100% compatible con él. Esto significa, en primer lugar, permitir que el programador de aprendizaje use todos los comandos, clases y métodos de forma interactiva cuando use el módulo desde IDLE ejecutado con el interruptor -n.
El módulo de Turtle proporciona primitivos de gráficos de Turtle, tanto en formas orientadas a objetos como orientadas a procedimientos. Debido a que usa Tkinter para los gráficos subyacentes, necesita una versión de Python instalada con soporte Tk.

Este código de Python le permite crear un diseño de Snowflakes utilizando su biblioteca estándar Turtle para el diseño de GUI. Este código crea 20 (puedes cambiarlo en el código fuente) copos de nieve aleatoriamente de tamaño y color aleatorios en posiciones aleatorias de la pantalla. 
 

Python

# Python code to draw snowflakes fractal.
import turtle
import random
 
# setup the window with a background color
wn = turtle.Screen()
wn.bgcolor("cyan")
 
# assign a name to your turtle
elsa = turtle.Turtle()
elsa.speed(15)
 
# create a list of colours
sfcolor = ["white", "blue", "purple", "grey", "magenta"]
 
# create a function to create different size snowflakes
def snowflake(size):
 
    # move the pen into starting position
    elsa.penup()
    elsa.forward(10*size)
    elsa.left(45)
    elsa.pendown()
    elsa.color(random.choice(sfcolor))
 
    # draw branch 8 times to make a snowflake
    for i in range(8):
        branch(size)  
        elsa.left(45)
     
 
# create one branch of the snowflake
def branch(size):
    for i in range(3):
        for i in range(3):
            elsa.forward(10.0*size/3)
            elsa.backward(10.0*size/3)
            elsa.right(45)
        elsa.left(90)
        elsa.backward(10.0*size/3)
        elsa.left(45)
    elsa.right(90)
    elsa.forward(10.0*size)
 
# loop to create 20 different sized snowflakes
# with different starting co-ordinates
for i in range(20):
    x = random.randint(-200, 200)
    y = random.randint(-200, 200)
    sf_size = random.randint(1, 4)
    elsa.penup()
    elsa.goto(x, y)
    elsa.pendown()
    snowflake(sf_size)
 
# leave the window open until you click to close 
wn.exitonclick() 

Producción: 
 

Este artículo es una contribución de Subhajit Saha . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *