La grafica della tartaruga (in inglese turtle graphics) o geometria della tartaruga è un termine utilizzato nella computer grafica come metodo di programmazione della grafica vettoriale che si basa sull'utilizzo di un cursore relativo (detto "tartaruga") su un piano cartesiano (asse x e y). Si tratta di un elemento fondamentale del linguaggio di programmazione Logo, per cui è stata originariamente sviluppata da Seymour Papert alla fine degli anni 60[1].
Funzionamento
[modifica | modifica wikitesto]La tartaruga ha tre attributi:
- una posizione
- Un orientamento
- Una penna con attributi (colore, larghezza, indicatore di penna sollevata o abbassata).
La tartaruga si muove attraverso dei comandi relativi alla sua posizione, come "vai avanti di 10" e "gira a sinistra di 90". I valori numerici rappresentano grandezze diverse, che possono essere ad esempio millimetri, pixel o gradi sessagesimali. Alla penna che la tartaruga impugna possono essere attribuiti un colore o una larghezza. Uno studente può comprendere (e prevedere e ragionare su) il movimento della tartaruga immaginando cosa farebbe se fosse una tartaruga.
Da questi elementi costitutivi si possono costruire forme più complesse come quadrati, triangoli, cerchi e altre figure composte. Combinato con flusso di controllo, procedure e ricorsione. L'idea dei grafici tartaruga è utile anche nei sistemi L per generare frattali.
La geometria della tartaruga viene talvolta utilizzata anche in ambienti grafici come alternativa ai rigidi sistemi di direzione delle coordinate.
Storia
[modifica | modifica wikitesto]Papert aveva lavorato con Jean Piaget a Ginevra prima di trasferirsi negli Stati Uniti[2]. L'obiettivo del gruppo era di creare un linguaggio di programmazione che introducesse i bambini ai concetti della programmazione e il feedback visivo immediato che si poteva ottenere programmando dei robot dotati di penna che disegnavano su carta[2] favorrendo la comprensione, l'esplorazione e la sperimentazione.
Il termine "grafica della tartaruga" (o "geometria della tartaruga") deriva dal soprannome dato a questi robot (floor turtle) introdotti nel 1971 da Mike Paterson[3]. In seguito i robot fisici sono stati sostituiti da una loro rappresentazione grafica sugli schermi dei computer (mock turtles). Nel 1981 Seymour Papert fondò la Logo Computer Systems Inc. (LCSI) che sviluppò interpreti LOGO per diversi personal e home computer.
Nel corso degli anni la grafica della tartaruga è stata implementata su diversi altri linguaggi. Alcuni esempi negli anni 80 includono varie versioni di BASIC, almeno due compilatori Pascal (Turbo Pascal e HiSoft Pascal), e il linguaggio di programmazione COMAL. La grafica della tartaruga è stata implementate in tempi più recenti sotto altri linguaggi di programmazione, tra cui Python[4], Scratch[5],Java[6],JavaScript[7], Ruby (via KidsRuby)[8].
Note
[modifica | modifica wikitesto]- ^ (EN) Ron Goldman, Scott Schaefer e Tao Ju, Turtle Geometry in Computer Graphics and Computer Aided Design (PDF), su cs.wustl.edu. URL consultato il 18 settembre 2024.
- ^ a b Logo History, su el.media.mit.edu. URL consultato il 18 settembre 2024.
- ^ (EN) cyberne1, 1969 - The Logo Turtle - Seymour Papert et al (Sth African/American), su cyberneticzoo.com, 10 gennaio 2010. URL consultato il 18 settembre 2024.
- ^ 16.4 turtle -- La grafica della tartaruga per Tk, su docs.python.it. URL consultato il 18 settembre 2024.
- ^ OII 2016 n. 18 – Programmare con Scratch, su valcon.it, 20 febbraio 2020. URL consultato il 18 settembre 2024.
- ^ Java Turtle Graphics
- ^ Turtle Graphics, su www.turtlegraphics.fun. URL consultato il 18 settembre 2024.
- ^ Kidsruby.com, su kidsruby.com. URL consultato il 18 settembre 2024.
Bibliografia
[modifica | modifica wikitesto]- Seymour Papert, Mindstorms, bambini computers e creatività, Emme, 1984, ISBN 88-294-0051-3.
- Seymour Papert, The Children's Machine: Rethinking School in the Age of the Computer.
Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file sulla Grafica della tartaruga
Collegamenti esterni
[modifica | modifica wikitesto]Controllo di autorità | GND (DE) 4131079-2 |
---|