Research
I spent this week researching procedural artists that use computing, and notable weavers/textile artists from the Bahuas School.
I came across contemporary artist, Jeff Donaldson, the founder of Glitch Haus textiles. I do enjoy some of his weaves, but I am a little more interested in another project, his “prepared Nintendo” pieces. These are hacked NES video game consoles that are used to generate glitch art. The idea reminds me a bit of composer John Cage’s “Prepared Piano” works in spirit.
Donaldson, Jeff. “Light Scan.” Data Weave, Kickstarter, www.kickstarter.com/projects/notendo/data-weave.
I also discovered Peter Struycken and his “Komputerstrukturen” series which are prints executed by computer programs. I really enjoy these, but I am still trying to figure out why exactly.
Peter Struycken - Computer Programs with Details, www.pstruycken.nl/EnProgDet.html#p_OSTRC.
Next I dove into the amazing work of the Bauhaus textiles & fiber arts group. Two artists that I want to highlight are Gunta Stölzl and Anni Albers.
Stölzl was the Bauhaus’ only female master and her work is thought to exemplify the distinctive style of Bauhaus textiles. Below is an amazing one of her wall hangings titled, 5 Choirs.
Stölzl, Gunta. “Jacquard Wall Hanging - ‘5 Chöre’ (5 Choirs).” Gunta Stölzl, Wall Hangings, www.guntastolzl.org/Works/Bauhaus-Dessau-1925-1931/Wall-Hangings/i-38mQW2r.
Anni Albers was a Bauhaus student of Stölzl and is credited as an artist who elevated textiles from merely a craft to an art form.
Albers, Anni. RED MEANDER. Christopher Farr, christopherfarr.com/rug/red-meander/.
Process
I tinkered further with my Processing script, and below is my tribute to Anni Albers Eclat.
The ruleset of the main procedure draws white triangles on a black background, randomly assigning rotation values (in multiples of 90 degrees) as it lays them out. The piece is generative and is never exactly the same each time it is executed. The pink rectangles on the right are not generative and will always be the same.
Here is the code:
// Tribute to Anni Albers "Eclat"
// Dylan Ryder 10/20/2017
// Encoded for WOVNS computational textile production platform
// Talma Quality, Pastel 20 Quality
size(3984, 3000); // 46-48" x 36", 84 DPI
background(0); // Carbon
noSmooth(); // anti-aliasing won’t be handled properly in weaving
noStroke();
noFill();
int widthSplit = 23;
int heightSplit = 17;
int w = width / widthSplit;
int h = height / heightSplit;
int r;
// main pattern of triangles in a grid of rows & columns
for (int col = 0; col < (widthSplit-1); col++) {
for (int row = 0; row < heightSplit; row++) {
fill(#F9FAF9); // Blizzard
r = int(random(3)); // random rotation multiplier
if (r == 0) {
//TL-TR-BL
triangle(w * col, h * row, w * col + w, h * row, w * col, h * row + h );
} else if (r == 1) {
//TL-TR-BR
triangle(w * col, h * row, w * col + w, h * row, w * col + w, h * row + h );
} else if (r == 2) {
//TL-BL-BR
triangle(w * col, h * row, w * col, h * row + h, w * col + w, h * row + h );
} else {
//TR-BL-BR
triangle(w * col + w, h * row, w * col, h * row + h, w * col + w, h * row + h );
}
}
}
// pattern of rectangles down right edge
for (int row = 0; row < heightSplit; row++) {
fill(#FFE4F3); // Pinking
rect(width - w, h * row, width, h / 2);
}
// generate a unique filename for each generation based on datestamp
save("Looming"+nf(month(), 2)+"-"+nf(day(), 2)+"-"+year()+" at "+nf(hour(), 2)+"."+nf(minute(), 2)+"."+nf(second(), 2)+"s"+".png");