Gráficas tortuga

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 

La tortuga tiene tres atributos:
 Una posición
 Una orientación
 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 

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.

Extensión a las tres dimensiones 
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 

Con el módulo Turtle del lenguaje Python se pueden dibujar figuras intrincadas utilizando programas que repiten movimientos simples.
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 
 Tortuga (robot)
 Lenguaje de programación Logo
 MSWLogo
 Python Módulo Turtle
 PythonTurtle - Standalone application
 KTurtle
 Cheloniidae Turtle Graphics
 StarLogo
 Los ordenadores de One Laptop per Child contienen una actividad Turtle Art para jugar con las gráficas tortuga
 Sistema-L

Referencias

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

Enlaces externos 
 "Web Turtle", gráficas tortuga en una página web, por Bill Kendrick, autor de Tux Paint
 Arte creado con gráficas tortuga por Artemis Papert
 "3D Flying Pipe-laying Turtle" por Tom Verhoeff de The Wolfram Demonstrations Project (retrieved on 2009-01-31)
 "Gráficas tortuga", escritas en MGrammar, por Jason Hogg
 Turtle Art website mantenido por Brian Silverman y Artemis Papert
 Turtle Art activity incluido en Sugar plataforma de aprendizaje
 JS Turtle Graphics una implementación simple de Javascript de gráficas tortuga, por John Villar
 JSTurtlegraphics V0.2 a simple browser-based implementation aimed at children (using the more common command names)
 TurtleWax gráficas tortuga en JavaScript, por Dave Balmer
 Paraiso del Logo el paraíso del logo
 Versiones versiones de logo para descargar

Computación gráfica
Software educativo libre