I decided to recreate the cover from August 1977 called ‘Random Squares’ by Bill Kolomyjec:
I made my recreation using line(), A LOT of rect(), translate() and push/popMatrix(). I feel like there most definitely must be an easier way to create this but (knowing my lack of programming skills) this was the method I chose to go through. I also decided to play around a little with what we learned in class with keyPressed(), and the different functions associated with float, and I definitely did not get what I wanted to achieve but I liked my ‘happy accident’ anyway and I was pretty proud of it.
int w = 100; float speed = .01; float granulation = .001; void setup() { size(420, 300); background(255); } void draw(){ // if(keyPressed == true) { // fill(153, 165, 194); //199, 32, 32 // } else { // fill(190, 191, 194); // 222, 116, 36 // } //for (int i=0; i<width; i+=w){ // float frequency = (frameCount*speed) + (i*granulation); // float angle = map(noise(frequency), 0, 1, 0, TWO_PI); // pushMatrix(); // translate(i+w/2, height*.5); // rotate(angle); // rect(0,0, w, 100); // popMatrix(); line(60, 0, 60, 300); line(120, 0, 120, 300); line(180, 0, 180, 300); line(240, 0, 240, 300); line(300, 0, 300, 300); line(360, 0, 360, 300); line(0, 60, 420, 60); line(0, 120, 420, 120); line(0, 180, 420, 180); line(0, 240, 420, 240); line(0, 300, 420, 300); line(0, 360, 420, 360); ///////LINE 1\\\\\\\\\ // CUBE 1,1 pushMatrix(); translate(0, 0); rect(4, 4, 50, 50); rect(9, 9, 40, 40); rect(15, 14, 30, 30); rect(19, 18, 20, 20); rect(25, 24, 10, 10); popMatrix(); // CUBE 1,2 pushMatrix(); translate(60, 0); rect(4, 4, 50, 50); rect(10, 9, 40, 40); rect(13, 11, 35, 35); rect(16, 14, 30, 30); rect(22, 17, 20, 20); rect(28, 21, 10, 10); popMatrix(); // CUBE 1,3 DONE pushMatrix(); translate(120, 0); rect(2, 2, 55, 55); rect(4, 4, 50, 50); rect(7, 7, 45, 45); rect(9, 9, 40, 40); rect(12, 12, 35, 35); rect(15, 14, 30, 30); rect(17, 17, 25, 25); rect(19, 20, 20, 20); rect(21, 23, 15, 15); rect(23, 26, 10, 10); popMatrix(); // CUBE 1,4 pushMatrix(); translate(180, 0); rect(4, 4, 50, 50); rect(13, 13, 30, 30); rect(17, 17, 20, 20); rect(21, 21, 10, 10); popMatrix(); // CUBE 1,5 pushMatrix(); translate(240, 0); rect(4, 4, 50, 50); rect(9, 9, 40, 40); rect(13, 13, 30, 30); rect(17, 17, 20, 20); rect(21, 21, 10, 10); popMatrix(); // CUBE 1,6 pushMatrix(); translate(300, 0); rect(5, 4, 50, 50); rect(15, 15, 30, 30); rect(28, 27, 10, 10); popMatrix(); // CUBE 1,7 pushMatrix(); translate(360, 0); rect(4, 4, 50, 50); rect(9, 9, 40, 40); rect(13, 13, 30, 30); rect(17, 17, 20, 20); rect(21, 21, 10, 10); popMatrix(); /////////LINE 2\\\\\\\\\\\ //CUBE 2,1 DONE pushMatrix(); translate(0, 60); rect(4, 4, 50, 50); rect(9, 9, 40, 40); rect(13, 13, 30, 30); rect(17, 17, 20, 20); rect(21, 21, 10, 10); popMatrix(); //CUBE 2,2 DONE pushMatrix(); translate(60, 60); rect(13, 15, 10, 10); popMatrix(); //CUBE 2,3 DONE pushMatrix(); translate(120, 60); rect(2, 2, 55, 55); rect(4, 4, 50, 50); rect(7, 7, 45, 45); rect(9, 9, 40, 40); rect(12, 12, 35, 35); rect(15, 14, 30, 30); rect(17, 15, 25, 25); rect(20, 18, 20, 20); rect(23, 20, 15, 15); rect(26, 22, 10, 10); popMatrix(); //CUBE 2,4 DONE pushMatrix(); translate(180, 60); rect(4, 4, 50, 50); rect(9, 9, 40, 40); rect(14, 14, 30, 30); rect(18, 18, 20, 20); rect(24, 24, 10, 10); popMatrix(); //CUBE 2,5 DONE pushMatrix(); translate(240, 60); rect(15, 15, 10, 10); popMatrix(); //CUBE 2,6 DONE pushMatrix(); translate(300, 60); rect(2, 2, 55, 55); rect(4, 4, 50, 50); rect(7, 7, 45, 45); rect(9, 9, 40, 40); rect(12, 12, 35, 35); rect(15, 14, 30, 30); rect(17, 17, 25, 25); rect(19, 20, 20, 20); rect(21, 23, 15, 15); rect(23, 26, 10, 10); popMatrix(); //CUBE 2,7 DONE pushMatrix(); translate(360, 60); rect(1, 2, 55, 55); rect(3, 4, 50, 50); rect(5, 7, 45, 45); rect(7, 9, 40, 40); rect(10, 11, 35, 35); rect(12, 12, 30, 30); rect(14, 15, 25, 25); rect(15, 17, 20, 20); rect(18, 20, 15, 15); rect(20, 22, 10, 10); popMatrix(); ////////////LINE 3\\\\\\\\\\ // CUBE 3,1 pushMatrix(); translate(0, 120); rect(3, 3, 50, 50); rect(8, 8, 40, 40); rect(11, 11, 30, 30); rect(15, 15, 20, 20); rect(18, 18, 10, 10); popMatrix(); // CUBE 3,2 pushMatrix(); translate(60, 120); rect(7, 7, 50, 50); rect(12, 12, 40, 40); rect(18, 18, 30, 30); rect(23, 23, 20, 20); rect(29, 29, 10, 10); popMatrix(); // CUBE 3,3 pushMatrix(); translate(120, 120); rect(4, 4, 50, 50); rect(9, 9, 40, 40); rect(13, 13, 30, 30); rect(17, 17, 20, 20); rect(21, 21, 10, 10); popMatrix(); // CUBE 3,4 pushMatrix(); translate(180, 120); rect(2, 2, 55, 55); rect(4, 4, 50, 50); rect(7, 7, 45, 45); rect(9, 9, 40, 40); rect(12, 12, 35, 35); rect(15, 14, 30, 30); rect(17, 17, 25, 25); rect(19, 20, 20, 20); rect(21, 23, 15, 15); rect(23, 26, 10, 10); popMatrix(); // CUBE 3,5 pushMatrix(); translate(240, 120); rect(4, 4, 50, 50); rect(9, 9, 40, 40); rect(13, 13, 30, 30); rect(17, 17, 20, 20); rect(21, 21, 10, 10); popMatrix(); // CUBE 3,6 pushMatrix(); translate(300, 120); rect(2, 2, 55, 55); rect(4, 4, 50, 50); rect(7, 7, 45, 45); rect(9, 9, 40, 40); rect(12, 12, 35, 35); rect(15, 14, 30, 30); rect(16, 17, 25, 25); rect(18, 20, 20, 20); rect(19, 23, 15, 15); rect(21, 26, 10, 10); popMatrix(); // CUBE 3,7 pushMatrix(); translate(360, 120); rect(2, 2, 55, 55); rect(4, 4, 50, 50); rect(7, 7, 45, 45); rect(9, 9, 40, 40); rect(12, 12, 35, 35); rect(15, 14, 30, 30); rect(18, 18, 25, 25); rect(20, 21, 20, 20); rect(23, 25, 15, 15); rect(26, 28, 10, 10); popMatrix(); /////////LINE 4\\\\\\\\\\\ //CUBE 4,1 DONE pushMatrix(); translate(0, 180); rect(4, 4, 50, 50); rect(9, 9, 40, 40); rect(13, 13, 30, 30); rect(17, 17, 20, 20); rect(21, 21, 10, 10); popMatrix(); //CUBE 4,2 DONE pushMatrix(); translate(60, 180); rect(30, 15, 10, 10); popMatrix(); //CUBE 4,3 pushMatrix(); translate(120, 180); rect(4, 4, 50, 50); rect(7, 7, 40, 40); rect(11, 12, 30, 30); rect(15, 17, 20, 20); rect(20, 23, 10, 10); popMatrix(); //CUBE 4,4 pushMatrix(); translate(180, 180); rect(6, 4, 50, 50); rect(15, 13, 30, 30); rect(23, 22, 10, 10); popMatrix(); //CUBE 4,5 DONE pushMatrix(); translate(240, 180); rect(10, 10, 37, 37); rect(23, 23, 10, 10); popMatrix(); //CUBE 4,6 pushMatrix(); translate(300, 180); rect(2, 2, 55, 55); rect(4, 4, 50, 50); rect(7, 7, 45, 45); rect(9, 9, 40, 40); rect(12, 12, 35, 35); rect(15, 14, 30, 30); rect(17, 17, 25, 25); rect(19, 19, 20, 20); rect(21, 21, 15, 15); rect(24, 23, 10, 10); popMatrix(); //CUBE 4,7 DONE pushMatrix(); translate(360, 180); rect(6, 4, 50, 50); rect(15, 13, 30, 30); rect(28, 24, 10, 10); popMatrix(); ///////LINE 5\\\\\\\\ //CUBE 5,1 pushMatrix(); translate(0, 240); rect(4, 4, 50, 50); rect(13, 13, 30, 30); rect(20, 20, 10, 10); popMatrix(); //CUBE 5,2 DONE pushMatrix(); translate(60, 240); rect(8, 8, 37, 37); rect(15, 18, 10, 10); popMatrix(); //CUBE 5,3 DONE pushMatrix(); translate(120, 240); rect(30, 27, 10, 10); popMatrix(); //CUBE 5,4 pushMatrix(); translate(180, 240); rect(4, 4, 50, 50); rect(9, 9, 40, 40); rect(13, 13, 30, 30); rect(17, 17, 20, 20); rect(21, 21, 10, 10); popMatrix(); //CUBE 5,5 pushMatrix(); translate(240, 240); rect(2, 2, 55, 55); rect(4, 4, 50, 50); rect(7, 7, 45, 45); rect(9, 9, 40, 40); rect(12, 12, 35, 35); rect(15, 14, 30, 30); rect(17, 17, 25, 25); rect(19, 20, 20, 20); rect(21, 23, 15, 15); rect(23, 26, 10, 10); popMatrix(); //CUBE 5,6 pushMatrix(); translate(300, 240); rect(6, 4, 50, 50); rect(15, 13, 30, 30); rect(28, 22, 10, 10); popMatrix(); //CUBE 5,7 pushMatrix(); translate(360, 240); rect(1, 2, 55, 55); rect(3, 4, 50, 50); rect(5, 7, 45, 45); rect(7, 9, 40, 40); rect(10, 11, 35, 35); rect(12, 12, 30, 30); rect(14, 15, 25, 25); rect(15, 17, 20, 20); rect(18, 20, 15, 15); rect(20, 22, 10, 10); popMatrix(); } //}