Processing

linguaggio di programmazione

Processing è una libreria grafica che consente di sviluppare applicazioni di vario tipo, come videogiochi, animazioni, contenuti interattivi e opere d'arte generativa.[1][2]

Il logo di Processing

Basandosi sul linguaggio Java, ne eredita la sintassi, i comandi e il paradigma di programmazione orientata agli oggetti, ma in più mette a disposizione numerose funzionalità per gestire in modo facile gli aspetti grafici e multimediali.

È distribuito nei termini della licenza libera GNU General Public License (GPL) ed è compatibile con i sistemi operativi Linux, macOS e Microsoft Windows.[3]

Processing può interagire con la scheda hardware Arduino.

Caratteristiche

modifica
 
IDE di Processing: nell'esempio, la simulazione del moto browniano di una molecola

Il pacchetto, scaricabile gratuitamente dal sito ufficiale, mette a disposizione un ambiente di sviluppo integrato (IDE).

Le varie creazioni sono chiamate sketch e sono organizzate in uno sketchbook. Ogni sketch contiene in genere, oltre alle classi che lo compongono, anche una cartella data in cui viene inserito il materiale multimediale utile all'applicazione, come, ad esempio, immagini, font e file audio.[1]

Ogni applicazione creata può inoltre essere esportata come Java applet.

Esempio di Sketch in Processing

modifica

Per creare uno sketch dinamico Processing mette a disposizione una funzione draw che viene eseguita per ogni frame; la funzione setup invece, viene invocata una sola volta al lancio dello sketch .

// dichiarazione di variabili globali
float xoffset = 0.0;
float yoffset = 0.0;

// metodo setup - eseguito solo all'avvio
void setup() 
{
  size(400, 400);
  PFont font = loadFont("Calibri-24.vlw");
  textFont(font, 24);
  smooth();
  println("Stampo una sola volta su console");
}

// metodo draw - eseguito per ogni frame
void draw() 
{
  background(128);
  println("Stampo ad ogni frame su console");
  text("Stampo ad ogni frame su schermo", xoffset, yoffset);
  xoffset++;
  yoffset++;
}

Dichiarazioni

modifica

All'inizio vengono dichiarate le variabili globali. Nel caso dell'esempio sopra riportato, sono due float che indicano rispettivamente gli spostamenti x e y.

Nel metodo setup di questo esempio, vengono impostati diversi parametri: size indica le dimensioni della finestra dell'applicazione; smooth servirà invece per applicare l'Antialiasing a eventuali figure geometriche (primitive e non) all'interno dell'applicazione.

La seconda riga del setup serve invece a creare font; una nuova istanza di PFont, la classe che in Processing rappresenta il font da utilizzare all'interno dell'applicazione: il font scelto ("Calibri-24.vlw") viene prima caricato tramite il metodo loadFont e in seguito viene adottato (con textFont) per il testo nella riga successiva.

In draw viene prima impostato il background, ovvero lo sfondo, che in genere deve essere reimpostato a ogni frame: infatti, se non viene reimpostato ogni volta, le animazioni rimarranno letteralmente impresse sullo sfondo.

L'istruzione text permette invece di renderizzare nello sketch un messaggio, che adotta il font già scelto in precedenza in setup e la posizione individuata dalle coordinate xoffset e yoffset, i cui incrementi successivi(indicati da xoffset++ ed yoffset++) permettono di muovere il testo dall'alto a sinistra fino in basso a destra.

Processing.js

modifica

Processing.js è un porting di Processing per JavaScript, con il quale è possibile creare contenuti multimediali avanzati per HTML5.[4]

  1. ^ a b (EN) Processing Overview, su Processing. URL consultato il 23 gennaio 2023 (archiviato dall'url originale il 28 maggio 2023).
  2. ^ (EN) What language is processing based on?, su Quora. URL consultato il 23 gennaio 2023.
  3. ^ (EN) Download Processing, su processing.org. URL consultato il 30 luglio 2014.
    «Processing is available for Linux, Mac OS X, and Windows. [..] Processing is Open Source Software. The PDE (Processing Development Environment) is released under the GNU GPL (General Public License). The export libraries (also known as 'core') are released under the GNU LGPL (Lesser General Public License)»
  4. ^ (EN) processingjs.org, https://web.archive.org/web/20120313113719/http://processingjs.org/. URL consultato il 30 luglio 2014 (archiviato dall'url originale il 13 marzo 2012).
    «Processing.js is the sister project of the popular Processing visual programming language, designed for the web»

Altri progetti

modifica

Collegamenti esterni

modifica
Controllo di autoritàVIAF (EN8154440151135342881 · LCCN (ENsh2008006434 · GND (DE7674975-7 · BNF (FRcb16265636f (data) · J9U (ENHE987007564134805171