En gráficos por computadora , los gráficos de tortugas son gráficos vectoriales que usan un cursor relativo (la " tortuga ") sobre un plano cartesiano . Los gráficos de tortugas son una característica clave del lenguaje de programación Logo . [1]
Descripción general
La tortuga tiene tres atributos: una ubicación, una orientación (o dirección) y un corral. El bolígrafo también tiene atributos: color, ancho y estado de encendido / apagado.
La tortuga se mueve con comandos que son relativos a su propia posición, como "avanzar 10 espacios" y "girar a la izquierda 90 grados". El bolígrafo que lleva la tortuga también se puede controlar, habilitándolo, estableciendo su color o estableciendo su ancho. Un estudiante podría entender (y predecir y razonar sobre) el movimiento de la tortuga imaginando lo que harían si fueran la tortuga. Seymour Papert llamó a este razonamiento "sintonía corporal".
Un sistema completo de gráficos de tortugas requiere un flujo de control, procedimientos y recursividad: muchos programas de dibujo de tortugas se quedan cortos. A partir de estos bloques de construcción, se pueden construir formas más complejas como cuadrados, triángulos, círculos y otras figuras compuestas. La idea de los gráficos de tortugas, por ejemplo, es útil en un sistema Lindenmayer para generar fractales .
La geometría de tortuga también se usa a veces en entornos gráficos como una alternativa a un sistema de gráficos estrictamente dirigido por coordenadas.
Historia
Los gráficos de tortugas a menudo se asocian con el lenguaje de programación Logo . [2] Seymour Papert agregó soporte para gráficos de tortugas a Logo a fines de la década de 1960 para respaldar su versión del robot tortuga , un robot simple controlado desde la estación de trabajo del usuario que está diseñado para llevar a cabo las funciones de dibujo asignadas mediante un pequeño bolígrafo retráctil. colocados en el cuerpo del robot o unidos al mismo. La geometría de tortuga funciona de forma algo diferente a la geometría cartesiana dirigida ( x , y ) , ya que se basa principalmente en vectores (es decir, dirección relativa y distancia desde un punto de partida) en comparación con los sistemas de direcciones de coordenadas como mapas de bits o gráficos rasterizados. Como cuestión práctica, el uso de la geometría de la tortuga en lugar de un modelo más tradicional imita la lógica de movimiento real del robot tortuga. La tortuga se representa tradicionalmente y con mayor frecuencia pictóricamente, ya sea como un triángulo o un ícono de tortuga (aunque se puede representar con cualquier ícono).
Hoy, la biblioteca estándar del lenguaje de programación Python incluye un módulo de gráficos Turtle. [3] Al igual que su predecesor Logo, la implementación de tortuga en Python permite a los programadores controlar una o más tortugas en un espacio bidimensional. Dado que la sintaxis estándar de Python, el flujo de control y las estructuras de datos se pueden usar junto con el módulo tortuga, la tortuga se ha convertido en una forma popular para que los programadores que aprenden Python se familiaricen con los conceptos básicos del lenguaje. [4]
Ampliación a tres dimensiones
Las ideas detrás de los gráficos de tortugas se pueden ampliar para incluir el espacio tridimensional. Esto se logra mediante el uso de uno de varios modelos de coordenadas diferentes. Si la tortuga opera en coordenadas cilíndricas, entonces tiene una ubicación y un rumbo dentro de su plano, y su plano puede rotarse alrededor del eje vertical. Esto a menudo se manifiesta como que la tortuga tiene dos ángulos de rumbo diferentes, uno dentro del plano y el otro determinando el ángulo del avión. Por lo general, cambiar el ángulo del avión no mueve a la tortuga.
En, [5] la tortuga recibe un comando Roll adicional , que rota el vector normal de la tortuga sobre su vector de rumbo, y el artículo procede a desarrollar una teoría algebraica para probar propiedades geométricas a partir de propiedades sintácticas de los programas de tortuga subyacentes.
También se pueden utilizar otros modelos de coordenadas. Cheloniidae Turtle Graphics es una biblioteca de tortugas 3D para Java . [6]
Ver también
Referencias
- ^ Goldman, Ron; Schaefer, Scott; Ju, Tao. "Geometría de la tortuga en gráficos por computadora y diseño asistido por computadora" (PDF) . CSE.WUSTL.edu . CS1 maint: parámetro desalentado ( enlace )
- ^ Thornburg, David D. (marzo de 1983). "Amigos de la tortuga: sobre logo y tortugas" . ¡Calcular! . pag. 148 . Consultado el 6 de octubre de 2013 . CS1 maint: parámetro desalentado ( enlace )
- ^ "25.1. Tortuga - Gráficos de tortuga - Documentación de Python 3.7.0" . docs.python.org . Consultado el 23 de agosto de 2018 .
- ^ "3. ¡Hola, pequeñas tortugas! - Cómo pensar como un informático: aprender con Python 3" . python.camden.rutgers.edu . Consultado el 23 de agosto de 2018 .
- ^ Verhoeff, Tom (2010). "Geometría de tortuga 3D: obra de arte, teoría, equivalencia de programa y simetría" . Revista Internacional de Artes y Tecnología . 3 (2/3): 288-319. doi : 10.1504 / IJART.2010.032569 . Consultado el 28 de febrero de 2021 .
- ↑ Spencer Tipping on cheloniidae ( consultado el 17 de septiembre de 2016)
- ^ Pietrocola, Giorgio (2005). "Tartapelago" . Maecla .
Otras lecturas
- Papert, Seymour (1993). Mindstorms: niños, computadoras e ideas poderosas (2ª ed.). Nueva York: Basic Books . ISBN 0-465-04674-6. OCLC 794964988 . CS1 maint: parámetro desalentado ( enlace )
- Papert, Seymour (1993). La máquina de los niños: repensar la escuela en la era de la computadora . Nueva York: Basic Books. ISBN 0-465-01830-0. OCLC 248428992 .