En este post te voy a mostrar una pequeña introducción a Turtle, el módulo de Python que permite dibujar figuras y formas desde las más básicas hasta las más complejas.

En concreto te mostraré cómo hacer una estrella, un cuadrado, y algunos espirales.

Importando módulo

Tengo entendido que este módulo ya viene incluido en Python 3. Por lo tanto, basta con instalar Python para que puedas usarlo.

Ahora impórtalo con:

from turtle import *

Esto va a importar todas las funciones como speed, right, forward, etcétera (propias de turtle), mismas que puedes consultar aquí.

Funciones iniciales

Todos los trazos que turtle haga van dejando rastro, es importante saber esto.

Con forward se avanza en la dirección establecida por el giro. Por defecto se avanza hacia la derecha. Con right podemos girar determinados grados.

Así que forward(100), right(90) y forward(100) harían la mitad de un cuadrado (bueno, dos lados).

Modificando velocidad de dibujo

Al dibujar figuras con turtle usando Python podrás modificar la velocidad de dibujo. Si quieres que no se vea ninguna animación, invoca a speed(0) y si en cambio quieres observar el proceso de dibujo de manera lenta, invoca a speed(1).

Puedes encontrar más sobre la velocidad en este enlace.

Dibujando un cuadrado

Para dibujar un cuadrado solo necesitamos dibujar 4 líneas y girar 90 grados en cada paso. Ten en cuenta que el ángulo tomado en cuenta es el externo; en este caso no hay problema porque son 90 grados pero en otras ocasiones tendremos que hacer algunas restas.

En este caso encerramos todo en una función que recibe la longitud. Así de simple es. La salida será una imagen con un cuadrado.

Relacionado:  Contar vocales con Python

Espiral de cuadrados

Dibujar espiral de cuadrados con turtle y Python

Podemos crear un efecto interesante si dibujamos varios cuadros y los vamos rotando. Para este punto es importante saber que cualquier invocación a las funciones de turtle, modifican al dibujo globalmente.

Con esto quiero decir que no importa desde dónde llamemos a las funciones, todas ellas modificarán el mismo dibujo.

Así que podemos hacer que se dibujen 72 cuadrados y que se vayan rotando 5 grados cada uno, logrando 360 grados en total. Para ello hacemos lo siguiente:

Si quieres puedes probarlo en este enlace.

Dibujo de estrella con turtle y Python

En este momento es cuando es importante lo que mencionaba sobre los ángulos. Ahora al girar, para dibujar la estrella correctamente, necesitamos un ángulo de 180 - 36.

Siempre tenemos que restar de 180 en caso de que referirnos al ángulo interno. El 36 viene del ángulo interno, y hace un momento que usábamos un ángulo de 90 grados no había problema, pues 180 – 90 es 90.

Lo demás es simplemente dibujar líneas, así como cuando dibujamos cuadrados. Solo que en este caso importa el ángulo.

Espiral de estrellas

Estrellas en espiral con Python y turtle

Para terminar esta pequeña introducción veamos cómo crear un espiral de estrellas. Sigue el mismo principio del espiral de cuadrados, solo que ahora es con una estrella de 5 picos.

También puedes ver la demostración aquí.

Más ideas

Puedes dibujar triángulos, círculos, etcétera. También puedes ir aumentando la longitud de las líneas para crear otros efectos.

Relacionado:  Leer e imprimir datos en Python con input y print

Como siempre, la mejor forma de aprender es la documentación oficial.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 805 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

0 Comments

Deja un comentario

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

A %d blogueros les gusta esto: