Musikanten rubrica diretta da Roberto Zanata
|
Processing
Processing[1] è un linguaggio di programmazione, distribuito sotto licenza Open Source[2], che consente di sviluppare numerose funzioni ad alto livello per gestire con relativa facilità, aspetti della generazione e trattamento grafico di immagini e multimediale. Esso può essere messo in comunicazione con altri software (come Supercollider) tramite l’Open Sound Control (OSC)[3].
Non è scopo precipuo di questo articolo, prendere in considerazione in dettaglio gli aspetti di programmazione di questo programma, esistono a tal proposito diversi tutorial, anche in lingua italiana, reperibili in rete nonché valide recenti pubblicazioni a carattere didattico di esperti sviluppatori di questo software[4]. È importante però sottolineare che si tratta di un software che, nonostante si presenti a prima vista ostico per via del fatto che è basato su un linguaggio di programmazione, è stato invece pensato a scopi creativi e non programmatori fini a se stessi.
Generalmente quando si studia un linguaggio di programmazione si parte sostanzialmente dalla struttura, dai concetti teorici, dagli algoritmi e dai vari metodi di programmazione, relegando alla fine l’interazione con la grafica o con il suono. Utilizzando Processing, si può partire invece direttamente da grafica e animazioni. In questi anni, esso è stato estremamente sviluppato in questa direzione, basta vedere l’enorme disponibilità che esso offre con le sue numerose librerie, che ad oggi coprono varie funzionalità: grafica 3D, comunicazione seriale, interfacciamento con Arduino, audio, plug in. Processin ha fondamentalmente, dunque, tutte le caratteristiche che servono alla realizzazione di lavori nell’ambito dell’arte, nell’epoca delle nuove tecnologie: è un linguaggio di alto livello, interattivo, a oggetti, efficiente rispetto alla generazione di video e audio in tempo reale, dotato di una quantità enorme di unità di sintesi e, non ultimo, ne fa seguito una comunità attivissima e di alto livello. A partire da questa premessa è possibile ora entrare in medias res circa alcuni aspetti dell’utilizzo di questi software per la realizzazione di un sistema video particellare. In prima istanza facciamo riferimento alla libreria sviluppata da Jonathan Feiberg[1], denominata PeasyCam che, come suggerisce il nome stesso, consente di avere una sorta di telecamera guidata, semplice ma efficace, per effetti di rotazione e zoom (in e out) dell’immagine turbolenta generata, ritorno alla sua posizione di partenza, rotazione e panoramica da un asse all’altro. In seconda istanza, ci riferiamo alla libreria sviluppata da Karsten Schmidt[2], la cui collezione è definita con il nome generale di Toxiclibs, che può essere sfruttata in ambiti come l’animazione e la grafica design, fondamentalmente creata per essere incorporata all’interno di Processing. Essa permette diverse possibilità di manipolazione e interazione dell’immagine sia per quanto riguarda il colore (toxi.color), che gli aspetti geometrici (toxi.geom) e perfino quelli audio (toxi.audio). I parametri che riguardano la generazione e l’animazione dell’immagine sono quelli che nel linguaggio di Processing vengono definiti con i termini inglesi: dofRatio, neighborhood, speed, viscosity, spread, independence, rebirth, rebirthRadius. turbulence, cameraRate e averageRebirth. Per il controllo di questi parametri ci si può servire della libreria esterna controlP5 di Andreas Schlegel[3], che consente di costruire una GUI[4]: vale a dire un interfaccia grafico che consente la costru- zione di sliders, buttons, toggles e altro da abbinare, appunto, ai suddetti parametri. Per quanto riguarda, invece, il tipo di animazione del materiale generato, si può fare uso di quello che nel linguaggio compositivo Processing (e più in generale della computer graphics) viene chiamato particle system[5]. Esso consiste in un sistema di generazione di particelle (o granelli) nel quale le particelle entrano in contatto tra di loro, con processi di accumulazione e dispersione, all’interno di un simulato campo di forze magnetiche. Ciò si manifesta, visivamente, in una serie di modelli di forme delle particelle, risultanti dall’utilizzo della sequenza generante noise, come spirali o forme più o meno circolari che viaggiano e fluttuano dimensionalmente nello spazio, nonché in esplosioni contraddistinte da alternate evoluzioni, accelerazioni, rallentamenti e dissolvenze.
Generalmente quando si studia un linguaggio di programmazione si parte sostanzialmente dalla struttura, dai concetti teorici, dagli algoritmi e dai vari metodi di programmazione, relegando alla fine l’interazione con la grafica o con il suono. Utilizzando Processing, si può partire invece direttamente da grafica e animazioni. In questi anni, esso è stato estremamente sviluppato in questa direzione, basta vedere l’enorme disponibilità che esso offre con le sue numerose librerie, che ad oggi coprono varie funzionalità: grafica 3D, comunicazione seriale, interfacciamento con Arduino, audio, plug in. Processin ha fondamentalmente, dunque, tutte le caratteristiche che servono alla realizzazione di lavori nell’ambito dell’arte, nell’epoca delle nuove tecnologie: è un linguaggio di alto livello, interattivo, a oggetti, efficiente rispetto alla generazione di video e audio in tempo reale, dotato di una quantità enorme di unità di sintesi e, non ultimo, ne fa seguito una comunità attivissima e di alto livello. A partire da questa premessa è possibile ora entrare in medias res circa alcuni aspetti dell’utilizzo di questi software per la realizzazione di un sistema video particellare. In prima istanza facciamo riferimento alla libreria sviluppata da Jonathan Feiberg[1], denominata PeasyCam che, come suggerisce il nome stesso, consente di avere una sorta di telecamera guidata, semplice ma efficace, per effetti di rotazione e zoom (in e out) dell’immagine turbolenta generata, ritorno alla sua posizione di partenza, rotazione e panoramica da un asse all’altro. In seconda istanza, ci riferiamo alla libreria sviluppata da Karsten Schmidt[2], la cui collezione è definita con il nome generale di Toxiclibs, che può essere sfruttata in ambiti come l’animazione e la grafica design, fondamentalmente creata per essere incorporata all’interno di Processing. Essa permette diverse possibilità di manipolazione e interazione dell’immagine sia per quanto riguarda il colore (toxi.color), che gli aspetti geometrici (toxi.geom) e perfino quelli audio (toxi.audio). I parametri che riguardano la generazione e l’animazione dell’immagine sono quelli che nel linguaggio di Processing vengono definiti con i termini inglesi: dofRatio, neighborhood, speed, viscosity, spread, independence, rebirth, rebirthRadius. turbulence, cameraRate e averageRebirth. Per il controllo di questi parametri ci si può servire della libreria esterna controlP5 di Andreas Schlegel[3], che consente di costruire una GUI[4]: vale a dire un interfaccia grafico che consente la costru- zione di sliders, buttons, toggles e altro da abbinare, appunto, ai suddetti parametri. Per quanto riguarda, invece, il tipo di animazione del materiale generato, si può fare uso di quello che nel linguaggio compositivo Processing (e più in generale della computer graphics) viene chiamato particle system[5]. Esso consiste in un sistema di generazione di particelle (o granelli) nel quale le particelle entrano in contatto tra di loro, con processi di accumulazione e dispersione, all’interno di un simulato campo di forze magnetiche. Ciò si manifesta, visivamente, in una serie di modelli di forme delle particelle, risultanti dall’utilizzo della sequenza generante noise, come spirali o forme più o meno circolari che viaggiano e fluttuano dimensionalmente nello spazio, nonché in esplosioni contraddistinte da alternate evoluzioni, accelerazioni, rallentamenti e dissolvenze.
Un secondo modello di particle system, molto simile a quello a cui si riferiscono le illustrazioni in bianco e nero, può essere implementato in RGB color mode[6], combinandolo con la gene- razione e manipolazione di pixel[7]. In questo caso, i parametri che vengono presi in considerazione sono quelli relativi alla densità delle particelle in rapporto alla scala di generazione random di rumore (noiseScale), quello relativo al disegno e alla disposizione dei pixel a cui viene successivamente associato un effetto blur che consiste in un filtro passa basso in grado di sfocare l’immagine. Questo effetto, cioè, analizza ogni singolo pixel in un’immagine e si fonde con i pixel vicini per sfocare l’immagine.
Questo illustrato non è che un semplice ma efficace esempio di utilizzo di questo programma che risponde poi, in definitiva, a uno dei modi di lavoro pratico (e anche teorico) che suggerisce l’approccio “strutturalista” di Processing, in quanto mirato al controllo millimetrico e alla costruzione di singoli parametri su base algoritmica, lasciando però allo stesso tempo anche un grande spazio all’improvvisazione, all’algoritmo che crea l’impulso che devia il percorso video prestabilito.
[3]
http://www.sojamo.de/libraries/controlP5/
[4] Graphical User Interface è un tipo di interfaccia utente che consente all’utente di interagire con la macchina manipolando oggetti grafici convenzionali.
[5] Si veda in proposito: http://processing.org/learning/topics/simpleparticlesystem.html
[6] Il Modello di colore RGB è un modello di colore addittivo nel quale vengono addizionati rosso, verde e blu insieme in vari modi per riprodurre una vasta gamma di colori. Il nome del modello deriva dalle iniziali in inglese dei tre colori primari additivi, rosso (red), verde (green) e blu (blu).
[7] Ciascun pixel (contrazione della locuzione inglese picture element), che rappresenta il più piccolo elemento dell’immagine, è caratterizzato dalla propria posizione e da valori quali colore e intensità, variabili in funzione del sistema di rappresentazione adottato. Nelle immagini a colori, ogni pixel ha la sua luminosità e colore, tipicamente rappresentate da una tripletta di intensità di rosso, verde e blu (RGB).
[4] Graphical User Interface è un tipo di interfaccia utente che consente all’utente di interagire con la macchina manipolando oggetti grafici convenzionali.
[5] Si veda in proposito: http://processing.org/learning/topics/simpleparticlesystem.html
[6] Il Modello di colore RGB è un modello di colore addittivo nel quale vengono addizionati rosso, verde e blu insieme in vari modi per riprodurre una vasta gamma di colori. Il nome del modello deriva dalle iniziali in inglese dei tre colori primari additivi, rosso (red), verde (green) e blu (blu).
[7] Ciascun pixel (contrazione della locuzione inglese picture element), che rappresenta il più piccolo elemento dell’immagine, è caratterizzato dalla propria posizione e da valori quali colore e intensità, variabili in funzione del sistema di rappresentazione adottato. Nelle immagini a colori, ogni pixel ha la sua luminosità e colore, tipicamente rappresentate da una tripletta di intensità di rosso, verde e blu (RGB).
|
Vuoi diventare pubblicista presso la nostra rivista?
sottoscrivi il bando. Accedi al link dall'immagine sottostante.
sottoscrivi il bando. Accedi al link dall'immagine sottostante.
Click here to edit.
Vuoi entrare nella redazione di Edizioni Psychodream,
o collaborare con Psychodream Theater?
Direttore: Francesco Luigi Panizzo | [email protected]
Responsabili di redazione: Viviana Vacca | Fabio Treppiedi | Massimo Acciai | Anna Novello | Gaia Grassi | Alessandro Rizzo | Daniel Montigiani
Per affiliazioni pubblicitarie | [email protected]
Per collaborazioni e progetti | [email protected]
Tutti i contenuti di questo sito possono essere utilizzati da altri media e siti internet, giornali o televisioni con la clausola
di esporre a citazione, tramite il seguente link, la Edizioni Psychodream oppure la pagina di riferimento.
Per info: ooooooooooooooooooooooooo
[email protected]
[email protected]
Psychodream Theater - © 2012 Tutti i
diritti riservati