Generative Art Samuel Valentine 40055137
CONTENTS 1. 2. 3. 4. 5. 6. 7. 8. 9.
SITE CONCEPT RESEARCH DEVELOPMENTS DEVELOPMENT 1 CODE DEVELOPMENT 2 CODE RANDOM MOVEMENTS FINAL IDEAS CODE FOR FINAL OUTCOME
SITE
• The site I was assigned was the new entrance to the music department from the end of the design corridor. • Due to the site being a relatively new addition to the building the foot fall through the area is not great. • I wanted to design something that would attract people to the area taking more traffic off the main corridor.
CONCEPT
•
•
•
My concept was to study the movement of people through the space. I wanted to create something that would represent the foot walk through the area. I also wanted to create something that would attract people to the area.
RESEARCH
here I was exploring linear forms, I wanted to show my interpretation of movement through a linear form, I also used these examples to help me understand how to make variations in the code.
DEVELOPMENTS DEVELOPMENT 1
DEVELOPMENT 3
DEVELOPMENT 2
CODE FOR DEVELOPMENT 1 for(int i = 1; i < num; i++) { ax[i-1] = ax[i]; ay[i-1] = ay[i]; }
int num = 200; int range = 20; float[] ax = new float[num]; float[] ay = new float[num]; void setup() { size(1024, 768); for(int i = 0; i < num; i++) { ax[i] = width/2; ay[i] = height/2; } frameRate(30); }
ax[num-1] += random(-range, range); ay[num-1] += random(-range, range); ax[num-1] = constrain(ax[num-1], 0, width); ay[num-1] = constrain(ay[num-1], height/4, height/2);
void draw() { background(1); }
for(int i=1; i<num; i++) { float val = float(i)/num * 300+ 51; stroke(val); line(ax[i-1], ay[i-1], ax[i-1], ay[i-1]); }
CODE FOR DEVELOPMENT 2 int num = 200; int range = 20; int diameter = 50; int positionX = 50; int Switch = 0; float[] ax = new float[num]; float[] ay = new float[num]; void setup() { size(1024, 768); for(int i = 0; i < num; i++) { ax[i] = width/2; ay[i] = height/2; } frameRate(30); } void draw() { background(1); A for(int i = 1; i < num; i++) { ax[i-1] = ax[i]; ay[i-1] = ay[i]; }
ax[num-1] += random(-range, range); ay[num-1] += random(-range, range); ax[num-1] = constrain(ax[num-1], 0, width); ay[num-1] = constrain(ay[num-1], height/4, height/2); fill(random(153),138,96,92); if(positionX >= width-diameter/2){ Switch = 1; } if(positionX == diameter/2){ Switch = 0; } if(Switch == 0){ positionX++; //position = position + 1;
} else { positionX--; }
}
for(int i=1; i<num; i++) { float val = float(i)/num * 204.0 + 51; stroke(val); line(ax[i-1], ay[i-1], ay[i], ay[i-1]); }
RANDOM MOVEMENT
Whilst looking at the movement of people throughout the space I noticed everyone moves randomly, this was a major inspiration to my design and ultimately affected the final outcome..
FINAL IDEA
CODE int num = 200; int range = 20; float[] ax = new float[num]; float[] ay = new float[num]; void setup() { size(1024, 768); for(int i = 0; i < num; i++) { ax[i] = width/2; ay[i] = height/2; } frameRate(30); } void draw() { background(1);
for(int i = 1; i < num; i++) { ax[i-1] = ax[i]; ay[i-1] = ay[i]; } ax[num-1] += random(-range, range); ay[num-1] += random(-range, range); ax[num-1] = constrain(ax[num-1], 0, width); ay[num-1] = constrain(ay[num-1], height/4, height/2);
}
for(int i=1; i<num; i++) { float val = float(i)/num * 204.0 + 51; stroke(val); line(ax[i-1], ay[i-1], ax[i], ay[i-1]); }