Generativ kunst med kode: lag 96, behold 12
En generator er billig. Smaken koster. Her er systemet vi bygde for å lage 96 bilder på ett sekund — og regelen vi bruker for å kaste 84 av dem.
Vi har to bildesystemer, og dette er ikke det som lager artikkelbildene. De hører hjemme i Vi lagde et bildespråk for artiklene, og de skal tåle en overskrift oppå seg. Dette er maskinen ved siden av: bilder til plakater, sitatkort og vignetter, der ingenting skal ligge over.
I mai lå det tre HTML-filer i en mappe her. Organic Turbulence, Quantum Harmonics, Recursive Whispers. Hver av dem var en liten p5.js-skisse med glidebrytere: partikler, støyskala, hastighet, farger. De var morsomme i nettleseren.
De var ubrukelige for sida. Fargene var lånt fra Anthropics egen palett, ikke vår. Resultatet var piksler, ikke vektor. Og ingen av dem ga samme bilde to ganger, så ingenting kunne velges og beholdes.
Denne artikkelen er påskuddet for å gjøre det ordentlig. Ett skript, vår palett, samme bilde hver gang, og en kuratering du kan etterprøve.
Hva «generativ» betyr
En regel og et frø. Regelen sier hvordan bildet tegnes. Frøet er et tall som bestemmer alle de små valgene underveis. Samme frø gir samme bilde, i dag og om ti år. Bytt frø, og du får et nytt bilde etter samme regel.
Det er hele forskjellen på en generator og en tilfeldighetsmaskin. Generatoren kan du sitere. Frø nummer seks i familien strøm er ett bestemt bilde, og det kommer til å være det samme hver gang noen ber om det.
Vi laget seks regler, med seksten frø hver.
Seks regler
Strøm. Et usynlig felt av retninger, tegnet av støy, og hundre linjer som følger det. Ideen er Ken Perlins, fra begynnelsen av 1980-tallet. Vi bruker en enklere støy, men prinsippet er det samme: orden som vokser ut av uorden.
Phyllotaxis. Solsikkens regel. Hvert nytt punkt legges 137,5 grader etter det forrige, og avstanden fra midten vokser med kvadratroten av nummeret. Ingen har bestemt mønsteret. Det bare oppstår.
Truchet. Kvartsirkler på et rutenett, hver flis snudd tilfeldig. Sébastien Truchet beskrev flisene på begynnelsen av 1700-tallet. Én regel, uendelig labyrint.
Lissajous. To pendler, én kurve. Jules Antoine Lissajous tegnet dem med speil og lys på 1800-tallet. Vi tegner dem med to sinusfunksjoner.
Ringer. Sirkler med Fibonacci-radier fra ett eller to sentre. Albers med passer.
Heks. En bikube der noen celler er fylt og andre ikke. Tettheten kommer fra samme støy som strømmen.
De tolv som ble igjen
Her er de. To fra hver familie.
Alle 96 ligger på galleriet. De 84 som ikke kom med, er ikke skjult. Det er de som viser hva regelen faktisk var.
Regelen for å kaste
Vi lagde ett kontaktark med alle 96 og gikk gjennom det med fem spørsmål. Et bilde måtte svare ja på alle.
- Leses det på 200 piksler? Det er størrelsen det skal leve i. Detaljer som forsvinner der, finnes ikke.
- Er det én idé? En strøm er en strøm. En strøm med tre fargede felt og et hull er tre bilder som krangler.
- Står aksenten ett sted? Rødt, gult eller blått skal peke på noe. Spredt utover er det pynt.
- Trenger det forklaring? Da er det ute.
- Ville jeg hengt det på veggen? Det siste spørsmålet er det eneste som ikke kan delegeres.
Noen familier klarte seg bedre enn andre. Strøm gir mest variasjon per frø, og var lettest å velge fra. Lissajous var vanskeligst: to kurver med ulike parametere ser ofte ut som samme kurve, og bare de tykke overlevde. Heks avhenger helt av tettheten. For glissent blir det tomt, for tett blir det tapet.
Hvor de brukes
Ikke på artikkelkortene. Der står Bauhaus-katalogen, og den vant den jobben fordi tittelen må kunne leses oppå. De tolv her er reservert for det som ikke har en overskrift oppå seg: sitatkort, plakater, og vignetter mellom kapitlene i boka.
Skriptet ligger åpent i kildekoden til sida. Det er 242 linjer JavaScript uten avhengigheter, og det kjører med én kommando. Hvordan resten av sida er satt sammen, står i Slik bygde vi denne nettsiden.
Slik bruker du dette i praksis
Dette er valgene vi tok, i den rekkefølgen de kom. Vil du prøve, er det her vi ville begynt.
- Paletten først, før en eneste linje kode. Hex-kodene øverst i fila.
- Én familie om gangen. Én regel, seksten frø. Ingen ny familie før den forrige hadde minst to bilder vi likte.
- Ett kontaktark med alt. Kurering fra filnavn ble prøvd én gang, og gikk dårlig.
- Kryss ut, ikke poeng. Ja eller nei per bilde. Poeng ble en måte å utsette valget på.
- Én setning om hvorfor hvert beholdt bilde ble beholdt.
- Frosne frø. Et valgt bilde har samme nummer for alltid.
- De forkastede ble liggende. Det er lettere å se en smak når man ser hva som ble valgt bort.
Maskinen lager. Du velger. Det er hele forskjellen på generert og kuratert.