Gráficas tortuga

De Wikipedia, la enciclopedia libre

Gráfica tortuga es un término usado en computación gráfica como método para programar gráficos vectoriales usando un cursor (la «tortuga») relativo a unas coordenadas cartesianas. Las gráficas tortuga son un elemento clave en el Lenguaje de programación Logo.

Resumen[editar]

Una espiral dibujada con un algoritmo iterativo de gráficas tortuga

La tortuga tiene tres atributos:

  1. Una posición
  2. Una orientación
  3. Una pluma, teniendo atributos como color, ancho y un indicador de pluma arriba y abajo.

La tortuga se mueve con comandos relativos a su posición, como «avanza 10 » y «gira a la izquierda 90 ». Los valores «10» o «90» representan magnitudes diferentes, las cuales se verifican en la práctica. En general las diferentes versiones de LOGO no acompañan el número con la magnitud, como pixeles, espacios o grados sexagesimales. La pluma que lleva la tortuga también se puede controlar, estableciéndola, dándole color o un ancho. Un estudiante puede entender (y predecir y razonar) el movimiento de la tortuga imaginándose qué haría él mismo si fuera una tortuga. Seymour Papert llama a esto razonamiento de sincronicidad corporal.

Desde estos bloques de construcción uno puede construir formas más complejas como cuadrados, triángulos, círculos y otras figuras compositivas. Combinadas con control de flujo, procedimientos y recursión. La idea de las gráficas tortuga también es útil en los sistema-L para generar fractales.

La geometría tortuga también se usa a veces en entornos gráficos como alternativa a los sistemas de dirección de coordenadas estrictos.

Historia[editar]

Ejemplo del trazado de un eneágono usando KTurtle.

Las gráficas tortuga fueron añadidas al lenguaje de programación Logo por Seymour Papert a finales de la década de 1960 para apoyar la versión de Papert del robot tortuga, un simple robot controlado desde el puesto de trabajo del usuario diseñado para llevar a cabo funciones de dibujo asignadas mediante una pequeña pluma retráctil en su interior o adjuntada al cuerpo del robot. La geometría tortuga trabaja diferente de la que geometría cartesiana (direcciones x,y), estando basada en vectores (dirección relativa a una distancia desde el punto inicial) en vez de sistemas de dirección de coordenadas como el PostScript. De forma práctica, el uso de geometría tortuga en lugar de otros modelos tradicionales mimetiza el movimiento lógico real del robot tortuga. La tortuga suele ser representada como un triángulo o como un icono de una tortuga (aunque pueda representarse con cualquier icono).

La hija de Papert, Artemis, ha usado gráficas tortuga para explorar la relación entre arte y algoritmos.

Los gráficos tortuga son soportados por la mayoría de plataformas. KTurtle es una aplicación de programación disponible en la mayoría de distribuciones Linux que no usa el lenguaje Logo, y Vectoria es una app disponible para iPhone.[1]

Extensión a las tres dimensiones[editar]

Las ideas tras los gráficos tortuga se pueden extender hasta incluir el espacio tridimensional. Esto se consigue usando uno o varios modelos de coordenadas diferentes. Si la tortuga opera en coordenadas cilíndricas, tiene entonces una localización y un grado en su plano, y su plano puede ser rotado sobre el eje vertical. Esto se suele representar con la tortuga teniendo dos ángulos rotacionales diferentes, uno para el plano y otro que determina el ángulo del plano. Normalmente cambiar el ángulo del plano no mueve a la tortuga.

También se usan otros modelos de coordenadas.

Gráfica tortuga programada en Python[editar]

Gráfica de tortuga programada en Python

Con el módulo Turtle del lenguaje Python se pueden dibujar figuras intrincadas utilizando programas que repiten movimientos simples.[2]

from turtle import *
color('red', 'yellow')
begin_fill()
while True:
    forward(200)
    left(170)
    if abs(pos()) < 1:
        break
end_fill()
done()

Véase también[editar]

Referencias[editar]

Bibliografía[editar]

  • Abelson and diSessa. Turtle geometry: the computer as a medium for exploring mathematics. Cambridge, MA: MIT Press, 1981.

Enlaces externos[editar]