
Descriverei come Arte Generativa, l’arte di trasformare i numeri in processi visivi.
Per fare arte generativa non si deve essere solo un designer, ma (purtroppo) si deve conoscere un po’ di matematica e un pizzico di programmazione. Vi premetto che non sono una cima in matematica ne tanto meno un programmatore, e sono convinto che chiunque, come me, con un po’ di curiosità, possa seguire questo blog.
L’arte Generativa è l’integrazione e la sintesi di vari processi matematici concepiti per generare eventi e valori. Con software specifici, è possibile generare diversi tipi di eventi, oggetti statici o animati, oppure oggetti interattivi. Avviare un programma generativo vuole dire fare partire un processo autonomo, che crea immagini grafiche sullo schermo, assolutamente imprevedibili e irrepetibili, ma andiamo per ordine.
Inizierei con darvi qualche riferimento concreto e visivo di ciò che andremo ad analizzare.
Buona visione.
Brownian motion with processing from Pedro M Cruz on Vimeo.
Lia_4_DHUB from Lia on Vimeo.
Decode Recode from Lia on Vimeo.
Construction 76 from Lia on Vimeo.
MOTOR / AMBIENT REEL from KU-SCHNEIDER on Vimeo.
Questi sono solo alcuni esempi di cosa si riesce a fare con software generativi. Ricordo una delle prime applicazioni che ho utilizzato, si chiamava Signwave Autoillustrator di Ward Adrian. Autoillustrator sembrava essere un piccolo illustrator ma con dei buffi tools, ad esempio c’era uno strumento chiamato BUGS il quale aggiungeva sul canvas (stage) dei veri e propri scarafaggi della grandezza di pochi pixel, che disegnavano le proprie traiettorie (delle linee rette) e cambiavano direzione (in modo radom) solo quando incontravano una traiettoria già tracciata da un’altro bug. Rimanevo a bocca aperta per ore davanti al monitor osservando quello che stavano disegnando gli scarafaggi… Una micro artificial intelligence! Che figata! In quegli anni (si parla del 1999…) circolavano molti altri software generativi, ma Auto Illustrator era un po’ come Adobe Dreamweaver per i designer: zero code ma con le proprie limitazioni, esattamente come Dreamweaver… (non ce l’ho con Dremweaver :) ).
In quegli anni seguivo molto Joshua Davis, artista Digitale di NY, che con il suo P R A Y S T A T I O N .com, si beccava da me minimo 40 retuning visitor al giorno (e altrettante quelle di Alexander Frank, il mio compagno di giochi quando lavoravamo insieme ;)). Joshua Davis generava le proprie composizioni con Adobe Flash (all’epoca proprietà Macromedia), la cosa bella è che metteva anche a disposizione il proprio codice! Potevi scaricare il file sorgente e studiartelo, ma ahimè non ci capivo nu cazz…E’ è stato così per molto tempo, quindi mi limitavo a fare esperimenti con Auto Illustrator e con Adobe Illustrator.
Da qualche tempo sto apprezzando Processing, un software in grado di disegnare tramite codice e non solo.
“Processing is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool.“
La descrizione la dice lunga su quel “open source programming language” specialmente sul “programming“, che noi designer badiamo tenere a dovuta distanza… Una sola riga di codice potrebbe farci venire il mal di testa! Giusto, ma progettando e pensando da codice ha i suoi mooolti vantaggi!
Immaginate un sistema, un mondo generato da particelle (prendiamo ad esempio i soliti cerchietti che ci piacciono tanto :)) e immaginate di avere il controllo di tutte le singole proprietà legate tra di loro per posizionare randomicamente i replicanti, sempre rispettando vincoli da noi imposti ad esempio:

A colpo d’occhio i cerchietti sembrerebbero generati e posizionati in modo casuale, ma ci sono regole che non notiamo a colpo d’occhio. Il sistema infatti interpreta e segue delle condizioni, ad esempio tutti i cerchi sono generati intorno a delle coordinate x, y ben definite e la composizione non va oltre altre coordinate x1, y1 (sempre stabilite), identificheremo x, y e x1,y1 come variabili entro i quali il progetto dovrà esistere. Una volta stabiliti i parametri e nel momento in cui mandiamo in esecuzione il programma (runtime), questo interpreterà il codice costruendo di volta in volta il nostro scenario. Con le variabili sempre fisse, avremo sempre lo stesso disegno, ma se cominciamo a giocarci, modificando i valori, o facendoli (ri)generare di volta in volta, la nostra composizione sarà sempre diversa. La nostra bravura sarà solo quella di “suggerire” al programma quale sono le cose da rispettare e quali non.
Nei prossimi articoli cercherò di alleviare le vorstre letture con altri (mano)scritti legati a concetti matematici base, esempi visivi, codice su cui ragionare e quant’altro legato al futuro della progettazione visiva.
Stay tuned ;)
PS. Potete commentare non vi mangia nessuno :)







aidoru
/ 2 February 2010Bella Palestrì, articolo moolto interessante ed il novello blog è davvero ben fatto, complimenti!
Klun
/ 2 February 2010Signori e signore, con grande onore vi presento uno dei miei maestri! Mr Campanella!!! Che citerò più avanti quando avrò finito di scrivere la mia “bio” http://www.klun.net/?page_id=2
Grazie Claudio!!! Spero di rivederti spesso sulle mie pagine ;)