Recitation 6: Processing Basics by Kyle Brueggemann

Josef Albers – Biconjugate

I chose this artwork to create my motif from because it uses a lot of geometric proportions and layering. I enjoyed the overall aesthetic and thought it would be a good challenge to develop my processing skills, but also not something entirely unreachable. This image stood out to me because the monotone color scheme and different layers gave it a clean, yet interesting overall appearance. 

In my coding in processing, I wanted to make close to an exact replica of this image as Possible. While it didn’t turn out absolutely perfect, I believe my final product turned out pretty good. In order to achieve this motif, I started with the back layer of color, and slowly added more and more layers on top of each other. This facilitated the process for this design, especially because the geometric angles are typically parallel with the previous layers’ angles. The process involved a lot of math as well as a lot of experimentation with values to determine how to keep the proportions exact between all the elements.

The final product is very similar to the original inspiration. There are a few angles that don’t lineup exactly, but every single element still retains its role in the development of the overall aesthetic. I do believe that Processing was a good means for realizing this design as it provided a very suitable workspace for creating such a geometric design. Using coding to draw allowed me to calculate the precision needed for such designs that involve precise proportions.

Code:

void setup(){
background(240,230,220);
size(1200,600);

fill(40);
stroke(40);
rect(80,80,1030,430);

noStroke();
fill(80);
quad(80,510,80,140,280,80,280,450);

noStroke();
fill(80);
quad(280,80,280,450,480,510,480,140);

noStroke();
fill(80);
triangle(480,140,480,180,700,200);

noStroke();
fill(80);
quad(480,180,480,510,700,450,980,80);

noStroke();
fill(80);
quad(700,140,700,450,980,510,980,80);

noStroke();
fill(80);
quad(980,80,980,510,1110,400,1110,200);

noStroke();
fill(240,230,220,220);
quad(280,160,280,370,480,430,480,220);

noStroke();
fill(240,230,220,220);
quad(480,220,480,430,560,455,560,180);

noStroke();
fill(240,230,220,150);
quad(280,100,280,430,480,490,480,160);

noStroke();
fill(240,230,220,150);
quad(180,130,180,400,280,430,280,100);

noStroke();
fill(240,230,220,150);
quad(600,180,600,410,700,430,700,205);

noStroke();
fill(240,230,220,150);
quad(700,205,700,430,980,490,980,150);

noStroke();
fill(240,230,220,220);
quad(700,160,700,350,980,410,980,105);

noStroke();
fill(240,230,220,220);
quad(980,105,980,410,1050,425,1050,168);

}

Leave a Reply