Bearbetning är ett datorspråk som används av visuella konstnärer för att skapa generativ och interaktiv konst. Förutom att skapa grafik på skärmen används språket också för att göra alla slags interaktivt skulptur och fysisk konst. Först är det svårt att förstå vad det är för, men det räcker med att säga att konstvärlden har omfamnat Processing som valbart programmerings språk.

I den här artikeln ser vi hur bandet Sinatra-testet skapade ett omslag för det kommande albumet som skapar en unik version för varje användare via en Mac-app som distribueras med musiken.

Album Cover Generator

För sitt kommande album "ambientertainment", ville Sinatra-testet ha en omslagsdesign som återspeglade den genererade naturen på musiken på albumet. Bearbetning erbjöd en enkel och lättlärd metod att göra just det.

Koden för albumkåpan är inte helt färdig vid skrivetiden, men de var nöjda med resultatet för att vi ska titta på resultaten hittills och publicera koden för den här tidiga versionen för att människor ska försöka sig själva.

Koden är väldigt kort och enkel, men det gör jobbet. I den här aktuella versionen på Mac skapas en variant av designen i byggnaden av appen och sparar den till samma plats som appen.

För att installera bearbetning, gå till hämtningssidan på webbplatsen och klicka på länken för din plattform. När den laddas ner packar du upp ZIP-filen och drar programmet till mappen Program.

Gör det till en PDF-fil

Det första steget är att ladda PDF-skapningsbiblioteket:

 importera bearbetning.pdf. *; 

Sedan ställer vi ut storleken på utmatningen på skärmen, i det här fallet 500 pixlar kvadrat:

 storlek (500, 500); 

Självklart är utmatningen en PDF-vektorgrafik, så det kan skalas till vilken storlek som helst utan nedbrytning eller snygga linjer.

Nästa måste vi definiera ett filnamn för den resulterande PDF-filen och börja spela in grafiken som de skapas för lagring i den slutliga bilden:

 beginRecord (PDF, "cover.pdf"); 

Färgerna på bilden definieras sedan. Bakgrunden är svart:

 bakgrund (0); 

När i tvivel, Randomize

För att skapa färgerna på strängarna bestämdes att de borde vara mestadels gröna men med variationer. Strategin var att RGB-färgerna randomiserades men med det gröna elementet som alltid kan gå högre än det röda eller det blå. Grön kan gå hela vägen upp till 256, men de andra två kanalerna är begränsade till 100.

Så vi definierar de flytande variablerna röda, gröna och blåa med följande värden:

 flyta rött = slumpmässigt (100); float green = slumpmässigt (255); float blue = slumpmässigt (100); 

Detta skapar en ny färgväg varje gång, grön varje gång men med varierande grad av rött, grönt och blått för att justera skuggan. Det finns alltid mer grönt än rött eller blått.

Hår, löv eller bökar? Vem vet!

Nu koden för att dra strängarna. Linjevikten för varje sträng är randomiserad och den horisontella positionen av strängarnas övre och nedre del varieras också slumpmässigt inom vissa parametrar. Strängarna är 60% genomskinliga, vilket resulterar i en tilltalande hårliknande sträng effekt:

 för (inti = 0; i <500; i ++) {float r = slumpmässigt (10); strokeWeight (r); stroke (röd, grön, blå, 60); float offset = r * 5.0; linje (i-20, 500, i + förskjutning, 0); } 

Nu lite text

Nästa typsnitt måste skapas. För användning i Bearbetning måste teckensnitt konverteras till ett .vlw-format. Detta görs från ett ansikte i teckensnittskatalogen på värdsystemet.

Obs! Det här är ett område som bandet fortfarande arbetar med. För webbapps kan den konverterade teckensnittet lagras på servern, och installeras aldrig på användarens system.

 PFont-typsnitt; font = createFont ("CooperBlackMS", 24); textFont (typsnitt); 

När teckensnittet har skapats skrivs texten till bilden, namnet på bandet till vänster och namnet på albumet till höger:

 text ("Sinatra-testet", 10, 20); text ("ambientertainment", 250, 490); 

Tydligen tog det mycket försök och fel att placera texten ordentligt, och de till synes godtyckliga koordinaterna är de som såg bäst ut på skärmen.

Linda upp den

Då slutar inspelningen av PDF-filen, stoppar programmet effektivt och skriver den färdiga bilden till disken med filnamnet som definierats ovan:

 endRecord (); 

Slutligen skriver programmet ett meddelande till konsolen för att indikera att det är klart:

 skriv ut ("Gör det! Nya Album skapat"); 

Finesser

Den slutliga versionen av appen kommer att ha några förbättringar, till exempel ett inbäddat teckensnitt och ett något mer interaktivt användargränssnitt, vilket möjliggör för användaren att förinställa vissa parametrar.

Processprogrammet på Mac skriver också Java som standard för att skapa appar, vilket är vad det användes för i det här fallet, men du kan inkludera andra lägen som Coffeescript, Javascript och Python om du vill. Också under utredning är en version av programvaran kodad för Javascript som skapar albumet över en webbsida och laddar ner den till användarens dator.

Att skapa konst med hjälp av programvara är en växande trend i modern konst. Har du haft någon erfarenhet av bearbetning eller generativ konst? Låt oss veta dina tankar i kommentarerna nedan.