Continuând tematica programării creative începută cu câteva numere în urmă, în articolul de față mă voi referi la arta generativă.
Conform web site-ului Galeriei Tate, arta generativă (sau algoritmică) este arta creată în baza unui sistem predeterminat (deci, algoritmic) care adesea include un element aleatoriu și se referă, de obicei, la arta creată cu ajutorul computerului. Diferența față de arta digitală în sens larg e utilizarea algoritmilor. Deși există software-uri de creație generativă care nu sunt code-based (de exemplu vvvv), eu personal prefer să consider arta generativă ca fiind în principal bazată pe linii de cod scris. Una dintre formele populare de vizualizare constă în folosirea plotterelor cum ar fi Axidraw. Aceste produse artistice vor fi în general geometrice sau fractalice.
Cu toate că originile sunt mai vechi- primele imagini generate algoritmic și reproduse pe plottere având originea la Bell Labs și Universitatea Stuttgart în 1962/63- arta generativă a fost acceptată treptat în cercurile artistice mainstream, unde, la început, era destul de controversată. O contribuție importantă la recunoașterea ei își aduce pictorului abstract Harold Cohen (britanic, 1928-2016). În anii ´70, el a creat un program numit AARON care avea ca scop creația artistică autonomă, luând ca sursă de inspirație inițială petroglife văzute in California, printr-o colaborare cu oamenii de știință de la University of California San Diego, folosind un mainframe Control Data 3200, ulterior migrând pe PDP 11 și VAX, programate in FORTRAN și C.
La început, AARON folosea un set de reguli (un fel de sistem expert) și definiții de forme simple. Acestea erau grupate în desene mai complexe, care erau tipărite pe planșetă prin intermediul unui braț robotic. Artistul colora planșetele manual la început, AARON dobândind talentul de a printa color din 1995 încolo. De asemenea, pe parcurs AARON a migrat la Lisp (~1.5 MB) și la o platformă Silicon Graphics. Harold Cohen a adăugat mai târziu și figuri umanoide și spații tridimensionale. În discuțiile despre AARON (care a învățat de la Harold Cohen, dar a ajuns să îl surprindă), termeni asociați artei generative precum complex adaptive systems, emergence își fac apariția într-un context artistic. AARON este încă funcțional.
O altă inovatoare în arta algoritmică este Vera Molnar, artistă franceză de origine maghiară, care, cu începere din anii ´60 își compune creațiile (plotate) în FORTRAN și BASIC. Deși avea cunoștințe de programare, artista recurgea pentru programarea în sine la ajutorul unor specialiști, spre deosebire de Harold Cohen); mai întâi, la compania franceză de calculatoare Bull (unde folosea cartele perforate pentru programare) și apoi la Université de Paris (unde a făcut tranziția la display-uri IBM 2250 și putea vedea modificările în compoziții în timp real, putând să le și editeze cu un light pen). Și Vera Molnar folosește parametri aleatorii pentru a adăuga fluiditate și naturalețe compozițiilor.
Flash și Director au fost printre primele produse software pentru consumer care și-au găsit aplicații imediate în arta generativă. Azi există multe toolkituri sau librării, cum ar fi, pentru C++, openFrameworks sau Cinder.
Pentru utilizatorii Java, proiectul Processing este unul dintre cele mai de succes toolkituri de generative art. Inițiat in 2001 de Ben Fry și Casey Reas (designer, respectiv artist vizual, proveniți de la MIT Media Lab), Processing simplifică programarea în Java cu orientare audio-vizuală și este un toolkit natural pentru creația de artă generativă.
API-ul Processing folosește câteva metode de bază:
setup(), unde se definește canvasul, frame rate-ul și alte proprietăți ale compoziției;
draw(), render loopul principal, unde geometria 2D sau 3D e desenată cu o frecvență determinată de frame rate (și de posibilitățile hardware-ului);
IDE-ul Processing, executând o compoziție de Jared Tarbell
În programarea de artă generativă, programatorul-artist definește un set de reguli care se aplică in spațiul 2D sau 3D reprezentat de canvas, care, ulterior, evoluează în timp conform unui algoritm în baza căruia computerul generează compoziția reprezentată de formele și liniile geometrice din output.
Un exemplu introductiv de programare artistică generativă, rezultând în figura de mai jos:
Matt Pearson, creative coder din Marea Britanie, identifică în cartea sa dedicată artei generative (Generative Art - A Practical guide using Processing) aceleași elemente de bază considerate și de Harold Cohen sau Vera Molnar, tot cu origini în natură:
Emergență, maniera în care forme complexe și coerente apar dintr-un număr mare de interacțiuni simple (exemplul clasic fiind colonia de furnici);
Autonomie, abilitatea unui actor (în cazul de față, software, obiect în cazul OOP) de a lua decizii proprii;
Artistul Anders Hoff are câteva articole despre algoritmi generativi unde explică multe concepte folosite în arta generativă cum ar fi patternurile (abstracte sau găsite în natură) care descriu regulile inițiale dintr-o compoziție.
AI-ul nu putea lipsi într-o discuție despre programare contemporană, fie și în scop artistic. GAN-urile sunt rețelele neuronale care și-au găsit aplicații în arta generativă. GAN-urile merită un articol separat (sau mai multe), dar pe scurt, implică două rețele neuronale adversariale pentru a crea seturi de date incluzând imagini care pot fi luate drept reale (sunt tehnologia care face deep fakes posibile).
O rețea (generatorul) creează seturi noi de date (imagini), în timp ce cealaltă (discriminatorul), le evaluează împreună cu un set de date (imagini) reale. O probabilitate este alocată imaginii create de a aparține setului real.
Mario Klingemann este unul din artiștii care folosesc GAN-uri pentru a crea artă generativă.
O realizare estetică în sine, o modalitate de expunere și comercializare a artei generative, folosind în plus tehnologiile AR (prin aplicația mobilă Aria) este volumul Generative Art publicat de platforma Generative Hut. Acesta include reproduceri ale compozițiilor unor artiști generativi:
Scanate cu aplicația mobilă Aria, acestea pot rezulta în vizualizarea procesului de plotare:
Sau într-o animație care "aduce la viață" o imagine altfel statică:
Arta generativă și NFT-urile sunt o combinație simbiotică. Până nu demult, comercializarea artei generative se făcea în galerii prin vânzarea printurilor (generate de plottere), sau prin intermediul unor platforme gen www.seditionart.com.
Marketplace-urile pentru NFT oferă altă opțiune. De exemplu, Art Blocks este o platformă care deține conținut generativ plecând de la designuri existente. Cumpărătorul alege un model existent, iar un algoritm generează ("minting") o versiune modificată (imagine statică, 3D, sau interactivă) unică pe care cumpărătorul o poate colecta prin Metamask și viziona în OpenSea. De exemplu, compoziția https://www.artblocks.io/token/1000003 (creată în Processing) poate fi cumpărată la https://opensea.io/assets/0x059edd72cd353df5106d2b9cc5ab83a52287ac3a/1000003, și are contractul Solidity la https://etherscan.io/address/0x059edd72cd353df5106d2b9cc5ab83a52287ac3a#contracts
(Unul din experimentele inițiale NFT, CryptoKitties, constă în imagini generate algoritmic. NFT-urile PFP (profile picture), care necesită sute/mii/… de NFT-uri pentru un drop, practic pot fi generate doar algoritmic).
Considerând originile geometrice ale artelor vizuale, în special evoluțiile artistice din secolul 20, nu e surprinzător că acest domeniu se pretează tratamentului computerizat. Evoluțiile AI și NFT adaugă o doză de actualitate și oferă perspective interesante pentru viitor din punct de vedere al creației, vizualizării și comercializării.
https://github.com/terkelg/awesome-creative-coding listă de referință de toolkituri pentru creative coding.
https://medium.com/@xuetingzhang313/re-code-vera-moln%C3%A1rs-interruptions-b6dc9765eae5 un articol care re-creează o compoziție a Verei Molnar în p5.js.
https://tylerxhobbs.com/fidenza unul dintre artiștii și teoreticienii domeniului discută algoritmii folosiți. Creațiile sunt NFT-uri care pot fi cumpărate pe OpenSea.
https://ravenkwok.com/ , unul dintre artiștii mei preferați.
https://www.researchgate.net/publication/338896073_Vera_Molnar's_Computer_Paintings
https://www.artnews.com/list/art-in-america/features/generative-art-and-nfts-1234586572/
Notă: Imaginile fără atribuție sunt ale autorului.