Come disegnare una linea in Scratch (e creare una funzione linea)

Scratch funziona come un plotter (penso pochi sappiano di cosa si tratti, immaginatelo come un braccio meccanico dedito al disegno) quindi per disegnare dovete dire:

  1. scegli il colore che preferisci
  2. scegli lo spessore del tratto
  3. scegli la tipologia di tratto (default continuo)

Fatte le configurazioni iniziali per poter disegnare dovete dire penna giù e per smettere penna su
Due sono le modalità

  1. semplicissima inizialmente, difficile in un secondo tempo, indicata per i bambini che possono istruire a disegnare come possono muovere un personaggio in un videogiochi o un robot
    posizionati in un punto (di default l’origine) disegna muovendoti di tot punti (che potrebbero essere passi). Posso cambiare orientazione cambiando l’angolazione (di default gira a destra)
  2. semplice se si conosce l’utilizzo degli assi cartesiani e riprende la
    metodologia più utilizzata da tutti i programmi: posizionati nel punto (x1,y1)
    e vai al punto (x2,y2).

Non esiste in scratch una funzione disegna linea, conviene crearla

  1. In Altri Blocchi “Crea un Blocco
  2. chiamalo linea o come preferisci ed introduci 4 variabili x1,y1,x2,y2
  3. le righe di codice fondamentali da inserire sono 4
    vai a x: x1 y: y1
    penna giù
    vai a x: x2 y: y2
    penna su

ora “linea -20 -20 20 20” disegnerà un segmento da (-20.-20) a (20,20)

Conoscete il gioco del robot-plotter?

Conoscete il gioco del robot-plotter?
Non penso.
L’ho recentemente pensato per spiegare le basi della programmazioni, il concetto di algoritmo, il concetto di assi cartesiani, le basi del disegno o del movimento, le combinazioni di colore (rgb e cmyk) e il bianco, il concetto di pixel, il concetto di default, …

Sicuramente vi chiederete cos’è un plotter?, il braccio di un robot in grado di disegnare usando 3 pennarelli (rgb red green blue).
Veramente interessante è che gli stessi comandi che si usano per far disegnare un plotter si possono utilizzare per far muovere un robot.
disegna una riga da A a B o muoviti da A a B sono equivalenti.
L’unica differenza che mentre un plotter può spostarsi in un punto diverso alzandosi dal foglio, un robot non può staccarsi da terra o saltare (per ora).

Ho usato la programmazione visuale per disegnare MUVIG!
https://scratch.mit.edu/projects/127972360/

Per programmare disegni impara a “ragionare come un plotter”

Se la stampante è nata come evoluzione della macchina da scrivere e poi del fax, il plotter era nato come evoluzione del disegnatore.

3 (rgb) o 4 (cmyk) i colori a sua disposizione, una unica dimensione di tratto, un foglio di carta continua a disposizione con la possibilità di andare avanti ed indietro.

Fissiamo l’origine degli assi cartesiani in basso a sinistra (come per PS e PDF), dove comincia il foglio.

Per tracciare una riga questa la sequenza: prendi la penna rossa, posizionati in (50,50) e vai fino a (200,200). Per fare il tratto più spesso ci si metterà attaccati da una parte e dall’altra e si faranno le necessarie righe, per fare un colore non presente si farà la giusta composizione dei colori a disposizione.

E’ difficile disegnare conoscendo tutte le coordinate, spesso un modo più semplice è utilizzare i gradi ed i passi.

Ad es. prendi la penna blu, posizionati in (100,100). Disegna per 20 passi, torna al punto iniziale ruota di 30 gradi e disegna per 20 passi, …, continua fino a che arrivi a 360 gradi. (Ovviamente esiste una direzione di default ad es 0 gradi è in direzione su, ed un senso di rotazione, ad es orario).
Ecco una serie di righe che escono a raggiera dal punto (100,100).

Ora che sapente come ragiona un plotter sapete programmare un plotter, conoscete le basi di programmazione dei linguaggi di stampa e di disegno (PS e PDF), sapete come programmare Snap e Scratch, sapete come fa muovere un personaggio in un videogioco (Minecraft), sapete come far muovere un robot (Lego).