‘Rubble’ in Paradise

//Concept//

The works of Georg Nees have, from the beginning of this subject, been a source of inspiration due to their straight-edged, geometric and mathematical design. Conceptual artist Sol Lewitt famously described, with regard to instructional art, for the product of the artist to be “mentally interesting, yet emotionally dry”. I believe Nees’ computer generated works can be seen as an extension of this notion, in that the works that are created are not particularly aesthetically beautiful , yet still manage to evoke an intellectual and mental attentiveness for the viewer.

The best example of a work by Nees to demonstrate this, and the one which I have indirectly based my project on, is “Schotter” (German for ‘rubble’). What I find most interesting about this work is how as the drawing of squares proceeds down the page from top to bottom, the amount of disorder increases – creating a percolating effect, or an appearance that the squares are tumbling and elapsing. Personally, this sparks mental controversy because it challenges my perception of perfection and equilibrium. There is a paradox between enjoying the image, and feeling uncomfortable about its transition into asymmetrical nature.

bild
“Schotter” – rubble [Source]
However instead of reconstructing this exact image for my project, I have instead aimed to recreate the work of first year students from The Basel School of Design – who have developed an interactive, generative computer-graphic inspired by Nees’ work. The one that is inspired by this artwork, and which I have recreated is: “Bild 27 – 207”

The graphic can be found at: http://www.dusie.ch/processingnees/ 

Shown below is a screen-capture of me interacting with the software, followed by three screenshots of the final pieces I ‘created’ in the program.

Screenshots from computer-graphic

//Coding//

In order to recreate this work I used two different codes in processing. One gives a static image to re-create the screenshots I took, while the other replicates the animated version.

The static version of the code creates slightly different versions of the artwork each time it is run, yet maintains a coherent aesthetic.

Static Code

int diam = 150; //set the diameter to 150 pixels,(this variable has been established outside of the main code to make it easier to change)

void setup() {
 size(800, 800);    // make the canvas 800x800 pixels
 background(0);     // make the background black
 noFill();          // show only the outline of the boxes, don't fill in
 noLoop();          // the code inside draw() is only drawn once
 stroke(255);       // make the outline of the squares white
 strokeWeight(2);   // make the thickness of the line 2 pixels
 }

//below is a nested for loop, which creates a grid pattern

void draw() {                                // this means the loop will draw forever, until stopped
 for (int x = 0; x < width; x = x + 50) {    // In this loop, the x point starts at 0,for as long as x is less than the width of the canvas, it keeps going up by 50
 for (int y = 0; y < height; y = y + 50) {   // Y point starts at 0,for as long as y is less than the height of the canvas, it keeps going up by 50
 rect(x, y, random(diam), random(diam));     // draw a rectangle: x and y are the coordinates of the upper left corner, calling on the variable from above (diam) make the width and height a random size between zero and 150 pixels
 }
 }
 }

Results:

“Movement and interaction were then applied to the images, bringing them both into modern capacity and introducing core concepts of designing by code” – Basel School of Design

Dynamic Code

The dynamic edition of the code, and results, are below:

int diam = 150;  //set the diameter to 150 pixels, (this variable has been established outside of the main code to make it easier to change)

void setup() {

size(800, 800);        // make the canvas 800x800 pixels
 background(255);      // make the background white
 noFill();             // show only the outline of the boxes, don't fill in
 //noLoop();           // the code inside draw() is run continuously
 stroke(0);            // make the outline of the squares black
 strokeWeight(2);      // make the thickness of the line 2 pixels
 frameRate(10);        // 10 frames displayed per second
 }

//below is a nested for loop, which creates a grid pattern

void draw() {                 // this means the loop will draw forever, until stopped
 for (int x = 0; x < width; x = x + 50) {    // In this loop, the x point starts at 0, for as long as x is less than the width of the canvas, it keeps going up by 50
 for (int y = 0; y < height; y = y + 50) {   //y point starts at 0, for as long as y is less than the height of the canvas, it keeps going up by 50
 rect(x, y, random(diam), random(diam));     //draw a rectangle: x and y are the coordinates of the upper left corner, calling on the variable from above (diam), make the width and height a random size between zero and 150 pixels
 }
 }
 }

meda102.gif

In conclusion, I am very pleased with the results of this project. Whilst I have used only a simple code, I have effectively recreated the aesthetic that I was originally inspired by. This activity also exposed me to interactive versions Nees’ artworks, which I would love to explore later on down the track as my coding skills progress.

Published by susiealdermann

Fifth Year Bachelor of Communications and Media/ Bachelor of International Studies (Dean's Scholar) student

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: