sábado, 8 de agosto de 2026

Dibujar concha de caracol utilizando el módulo turtle en Python

Código del ejercicio:

from turtle import *
import numpy as np
from math import sin
speed(0)
up()
goto(50, -50)
down()
def ecl(l):
    for i in range(2):
        circle(l, 90)
        circle(1//4,90)
def shape(l):
    n = 0
    for i in np.linspace(0.1,2.1,70):
        right(n//6.5)
        up()
        goto(50-10*i, -50+10*i)
        down()
        d = l*(sin(i))
        ecl(d)
        n+=1
shape(100)

Definición de los códigos del ejercicio:

from --> palabra clave se usa para importar solo una sección específica de un módulo.
turtle --> es una biblioteca de Python que se utiliza para crear gráficos, imágenes y juegos.
import --> usa import palabra clave para hacer que el código de un módulo esté disponible en otro.
math --> este módulo proporciona acceso a las funciones matemáticas.
NumPy --> es una biblioteca de Python utilizada para trabajar con matrices. También tiene funciones para trabajar en el dominio del álgebra lineal, la transformada de Fourier y las matrices.
as --> palabra clave se utiliza para crear un alias.
turtle.speed() --> se usa para cambiar la velocidad de la tortuga por el valor del argumento que toma. Devuelve o establece la velocidad de la tortuga.
goto() --> salta la ejecución del programa directamente a otra línea de código.
turtle.up() --> se utiliza para sacar el lápiz de la pantalla. No da dibujo al moverse a otra posición o dirección.
turtle.down() --> se usa para bajar el lápiz en la pantalla. Da dibujo al moverse a otra posición o dirección.
def --> una función es un grupo de declaraciones relacionadas que realizan una tarea específica.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
turtle.circle() --> este método se utiliza para dibujar un círculo con un radio determinado.
numpy.linspace() --> devuelve números espaciados uniformemente en un intervalo específico.
turtle.right() --> se usa para cambiar la dirección de la tortuga por el valor del argumento que toma. Da el movimiento de la cabeza de la tortuga en una dirección.
math.sin() --> devuelve el seno de un número.
numpy.shape() --> devuelve la forma de una matriz.

Explicación del Código:

Este programa utiliza el módulo Turtle para dibujar una figura parecida a una concha de caracol mediante arcos de diferentes tamaños.

Código Python

from turtle import *

import numpy as np

from math import sin

speed(0)

up()

goto(50, -50)

down()

def ecl(l):

    for i in range(2):

        circle(l, 90)

        circle(1//4,90)

def shape(l):

    n = 0

    for i in np.linspace(0.1,2.1,70):

        right(n//6.5)

        up()

        goto(50-10*i, -50+10*i)

        down()

        d = l*(sin(i))

        ecl(d)

        n+=1

shape(100)

Explicación del código

  • from turtle import *: importa todas las funciones del módulo Turtle para poder dibujar.
  • import numpy as np: importa NumPy y permite utilizar funciones para generar secuencias de números.
  • from math import sin: importa la función seno, utilizada para calcular diferentes tamaños para los arcos.
  • speed(0): establece la velocidad máxima de dibujo.
  • up(): levanta el lápiz para que la tortuga pueda moverse sin dibujar.
  • goto(50, -50): coloca la tortuga en la posición inicial.
  • down(): baja el lápiz para comenzar a dibujar.
  • def ecl(l):: crea una función encargada de dibujar pequeños arcos de la concha.
  • for i in range(2):: repite las instrucciones de dibujo dos veces.
  • circle(l, 90): dibuja un arco de círculo de 90 grados utilizando el tamaño indicado en l.
  • circle(1//4,90): dibuja otro arco pequeño de 90 grados.
  • def shape(l):: crea la función principal que construye la forma de la concha.
  • n = 0: crea un contador que comienza en cero.
  • np.linspace(0.1,2.1,70): genera 70 valores distribuidos entre 0.1 y 2.1.
  • right(n//6.5): hace que la tortuga gire hacia la derecha.
  • up(): levanta el lápiz para poder cambiar de posición sin dibujar.
  • goto(50-10*i, -50+10*i): mueve la tortuga a una nueva posición dependiendo del valor de i.
  • down(): vuelve a bajar el lápiz.
  • d = l*(sin(i)): calcula el tamaño del arco usando la función seno.
  • ecl(d): llama a la función ecl() y le proporciona el tamaño calculado.
  • n += 1: aumenta el contador en una unidad.
  • shape(100): ejecuta la función principal utilizando 100 como tamaño inicial.
Resumen: El programa dibuja una concha de caracol utilizando muchos arcos. El tamaño de estos arcos cambia mediante la función seno y la tortuga cambia progresivamente de posición y dirección. La combinación de todos estos arcos produce la forma de una concha.

No hay comentarios.:

Publicar un comentario

Encontrar la paridad de un número dado en Python

Código del ejercicio: def encontrarParidad ( x ):     x ^= x >> 16     x ^= x >> 8     x ^= x >> 4     x ^= x...

Copyright © Ejercicios de programación. Todos los derechos reservados. ❤️