Dibuja un Girasol Amarillo con Python y Turtle

Repo
Blog / Dibuja un Girasol Amarillo co… /
Dibuja un Girasol Amarillo con Python y Turtle

Por: Leonardo Narváez.

En: 27 de Septiembre de 2023 a las 21:56
flor amarilla girasol programacion python turtle

En este tutorial, te mostraré cómo crear dibujo de un girasol con un toque romántico en Python utilizando el módulo turtle. El código generará un girasol amarillo con un mensaje "Te Quiero" en la parte superior. Vamos a desglosar cada parte del código paso a paso para comprender cómo funciona.

Pasos:

1.- Configuración inicial de la ventana:

Importamos la librería math para los cálculos matemáticos necesarios y turtle que nos servirá para la creación de gráficos.

import math
import turtle

Aquí, configuramos la ventana. Establecemos el color de fondo en negro, cambiamos la forma del cursor a "turtle" y configuramos la velocidad en 0, lo que significa que la tortuga se moverá lo más rápido posible.

turtle.bgcolor("black")
turtle.shape("turtle")
turtle.speed(0)

3.- Dibujar pétalos del girasol:

  • turtle.goto(0, -40): Mueve la tortuga a la posición inicial en el centro del girasol, justo por encima del centro del futuro girasol.
  • turtle.pendown(): Coloca el lápiz de la tortuga en el papel, de modo que deje un rastro al moverse.
  • h = 0: Inicializa una variable h en 0. Esta variable se utilizará para controlar la amplitud de los pétalos.
  • phi = 137.508 * (math.pi / 180.0): Calcula el valor de phi en radianes, que se utiliza para determinar la forma de los pétalos.
  • for i in range(16): Inicia un bucle externo que se ejecutará 16 veces, creando así 16 conjuntos de pétalos.
  • for j in range(18): Dentro del bucle externo, se inicia otro bucle interno que se ejecutará 18 veces, creando los pétalos individuales en cada conjunto.
  • turtle.color("yellow"): Establece el color de la tortuga en amarillo, para dibujar los pétalos del girasol en este color.
  • h += 0.005: Incrementa gradualmente la variable h. Esto afecta la forma de los pétalos, haciéndolos cada vez más abiertos a medida que h aumenta.
  • turtle.rt(90): Gira la tortuga 90 grados hacia la derecha.
  • turtle.circle(150 - j * 6, 90): Dibuja un segmento curvo que representa un lado del pétalo. El radio del círculo varía en función de j para dar la forma característica del girasol.
  • turtle.lt(90): Gira la tortuga 90 grados hacia la izquierda.
  • turtle.circle(150 - j * 6, 90): Dibuja el otro lado del pétalo, completando así la forma de uno.
  • turtle.rt(180): Gira la tortuga 180 grados para volver a la posición inicial para el siguiente pétalo.
  • turtle.circle(40, 24): Dibuja un pequeño círculo en el centro de los pétalos, que contribuye a la apariencia del girasol.


turtle.goto(0, -40)
turtle.pendown()
h = 0
phi = 137.508 * (math.pi / 180.0)
for i in range(16):
    for j in range(18):
        turtle.color("yellow")
        h += 0.005
        turtle.rt(90)
        turtle.circle(150 - j * 6, 90)
        turtle.lt(90)
        turtle.circle(150 - j * 6, 90)
        turtle.rt(180)
    turtle.circle(40, 24)


4.- Dibujar el centro del girasol:

Definimos los valores iniciales para la creación del centro de nuestro girasol.

turtle.penup()
turtle.goto(0, 0)
turtle.color("black")
turtle.fillcolor("brown")
turtle.begin_fill()
turtle.circle(0)
turtle.end_fill()

Damos forma a nuestro centro usando la siguiente lógica:

  • phi = 137.508 * (math.pi / 180.0): Calculamos el valor de phi en radianes, que será utilizado para determinar la posición de cada punto en el centro del girasol.
  • for i in range(160 + 40): Iteramos a través de un bucle for desde 0 hasta 199. Este rango representa la cantidad de puntos en el centro del girasol.
  • r = 4 * math.sqrt(i): Calculamos el radio r en función de la raíz cuadrada de i. Esto crea una distribución uniforme de los puntos alrededor del centro.
  • theta = i * phi: Calculamos el ángulo theta para cada punto en función de i y phi.
  • x = r * math.cos(theta) y y = r * math.sin(theta): Calculamos las coordenadas x e y de cada punto en coordenadas polares.
  • turtle.penup(): Levantamos el lápiz de la tortuga para que no deje un rastro mientras nos movemos a cada punto.
  • turtle.goto(x, y): Movemos la tortuga a las coordenadas (x, y) para posicionarla en el punto calculado.
  • turtle.setheading(i * 137.508): Establecemos la orientación de la tortuga para que apunte en la dirección correcta en función del ángulo i.
  • turtle.pendown(): Bajamos el lápiz de la tortuga para que deje un rastro al marcar cada punto.
  • if i < 160: turtle.stamp(): Utilizamos turtle.stamp() para marcar cada punto con un pequeño círculo, pero solo para los primeros 160 puntos, creando así el patrón característico del centro del girasol.


phi = 137.508 * (math.pi / 180.0)
for i in range(160 + 40):
    r = 4 * math.sqrt(i)
    theta = i * phi
    x = r * math.cos(theta)
    y = r * math.sin(theta)
    turtle.penup()
    turtle.goto(x, y)
    turtle.setheading(i * 137.508)
    turtle.pendown()
    if i < 160:
        turtle.stamp()

De esta manera conseguimos formar la parte central de nuestro girasol.

5.- Escribir el mensaje "Te Quiero":

  • turtle.penup(): Levanta el lápiz de la tortuga para que no deje un rastro mientras se mueve a una nueva posición.
  • turtle.goto(0, 300): Utiliza turtle.goto(x, y) para mover la tortuga a las coordenadas (0, 300), que es la posición donde deseamos que aparezca el mensaje.
  • turtle.color("White"): Establece el color del texto en blanco, lo que significa que el mensaje será visible sobre el fondo negro.
  • turtle.write("Te Quiero", align="center", font=("Arial", 24, "bold")): Utiliza turtle.write() para escribir el mensaje "Te Quiero". Los argumentos especifican el texto, la alineación (en este caso, centrada), y el estilo del texto (Arial, tamaño 24 y en negrita).


turtle.penup()
turtle.goto(0, 300)
turtle.color("White")
turtle.write("Te Quiero", align="center", font=("Arial", 24, "bold"))

En esta parte escribiremos un mensaje personalizado en la parte superior del girasol, si quiere cambiar el texto solo seria necesario cambiar el string de la siguiente manera:

turtle.write("De mi para ti", align="center", font=("Arial", 24, "bold"))


En resumen, en este tutorial hemos aprendido a usar Python para dibujar un girasol súper bonito. Hemos desglosado cada paso para entender cómo se hace. Primero, configuramos la ventana y luego pasamos a dibujar los pétalos del girasol, uno por uno. Luego, creamos el centro del girasol y lo hicimos lucir genial con un mensaje personalizable que decía: "Te Quiero" en la parte de arriba.

La idea aquí no es solo aprender a dibujar un girasol, sino también entender cómo usar Python para crear tus propias obras de arte y proyectos creativos. Así que, ¡anímate a explorar más y a hacer tus propias creaciones increíbles!

¡La programación gráfica puede ser súper divertida y creativa!

Compartir:

Ver más

¿Cómo instalar Django en Plesk?
65 Tutoriales
Aprende a destacar en GitHub: Cómo escribir un README que impresione a tod…
611 Tutoriales
¿Cómo consumir una API de preguntas y respuestas?
484 Tutoriales

author-dibuja-un-girasol-amarillo-con-python-y-turtle
Leonardo Narváez

Desarrollador de software apasionado y creativo con experiencia en diversos lenguajes y tecnologías. Especializado en la creación de soluciones innovadoras y eficientes, como aplicaciones web y móviles, sitios web interactivos y soluciones personalizadas.

Artículos