Step One
void amy(float x, float y, float size, color c) {
stroke(c);
strokeWeight(7);
fill(255);
//stamp
rect(x-size*.5,y-size*.5,size*2,size*1.95);
//top radical
strokeWeight(5);
noFill();
line(x+size*.05,y,x+size*.95,y);
line(x+size*.3,y-size*.1,x+size*.3,y+size*.1);
line(x+size*.7,y-size*.1,x+size*.7,y+size*.1);
//vertical lines
line(x,y+size*.25,x,y+size);
line(x+size,y+size*.25,x+size,y+size);
line(x+size*.5,y+size*.25,x+size*.5,y+size);
//horizontal lines
line(x,y+size*.25,x+size,y+size*.25);
line(x,y+size,x+size,y+size);
line(x,y+size*.6,x+size,y+size*.6);
}
Step Two
void setup() {
size(700,700);
background(255);
for(int i=0; i<100; i++){
float r = random(175,255);
float g = random(75);
float b = random(75);
amy(random(width),random(height),random(50,100), color(r,g,b));
}
}
void draw() {
for(int i=0; i<100; i++){
float r = random(175,255);
float g = random(75);
float b = random(75);
amy(random(width),random(height),random(50,100), color(r,g,b));
}
}
void amy(float x, float y, float size, color c) {
stroke(c);
strokeWeight(7);
fill(255);
//stamp
rect(x-size*.5,y-size*.5,size*2,size*1.95);
//top radical
strokeWeight(5);
noFill();
line(x+size*.05,y,x+size*.95,y);
line(x+size*.3,y-size*.1,x+size*.3,y+size*.1);
line(x+size*.7,y-size*.1,x+size*.7,y+size*.1);
//vertical lines
line(x,y+size*.25,x,y+size);
line(x+size,y+size*.25,x+size,y+size);
line(x+size*.5,y+size*.25,x+size*.5,y+size);
//horizontal lines
line(x,y+size*.25,x+size,y+size*.25);
line(x,y+size,x+size,y+size);
line(x,y+size*.6,x+size,y+size*.6);
}
void setup() {
size(700,700);
background(255);
}
void draw() {
for(int i=0; i<100; i++){
float r = random(175,255);
float g = random(75);
float b = random(75);
amy(random(width),random(height),random(50,100), color(r,g,b));
}
}
void amy(float x, float y, float size, color c) {
stroke(c);
strokeWeight(7);
fill(255);
//stamp
rect(x-size*.5,y-size*.5,size*2,size*1.95);
//top radical
strokeWeight(5);
noFill();
line(x+size*.05,y,x+size*.95,y);
line(x+size*.3,y-size*.1,x+size*.3,y+size*.1);
line(x+size*.7,y-size*.1,x+size*.7,y+size*.1);
//vertical lines
line(x,y+size*.25,x,y+size);
line(x+size,y+size*.25,x+size,y+size);
line(x+size*.5,y+size*.25,x+size*.5,y+size);
//horizontal lines
line(x,y+size*.25,x+size,y+size*.25);
line(x,y+size,x+size,y+size);
line(x,y+size*.6,x+size,y+size*.6);
}
Step Three
float[] x = new float[100];
float[] y = new float [100];
float[] size = new float[100];
color[] c = new color[100];
void setup() {
size(700,700);
background(255);
for(int i=0; i<x.length; i++){
x[i] = random(width);
y[i] = random(height);
size[i] = random(50,100);
c[i] = color(random(175,255),random(75),random(75));
}
}
void draw() {
for(int i=0; i<x.length; i++) {
amy(x[i],y[i],size[i],c[i]);
}
}
void amy(float x, float y, float size, color c) {
stroke(c);
strokeWeight(7);
fill(255);
//stamp
rect(x-size*.5,y-size*.5,size*2,size*1.95);
//top radical
strokeWeight(5);
noFill();
line(x+size*.05,y,x+size*.95,y);
line(x+size*.3,y-size*.1,x+size*.3,y+size*.1);
line(x+size*.7,y-size*.1,x+size*.7,y+size*.1);
//vertical lines
line(x,y+size*.25,x,y+size);
line(x+size,y+size*.25,x+size,y+size);
line(x+size*.5,y+size*.25,x+size*.5,y+size);
//horizontal lines
line(x,y+size*.25,x+size,y+size*.25);
line(x,y+size,x+size,y+size);
line(x,y+size*.6,x+size,y+size*.6);
}
Step Four
float[] x = new float[100];
float[] y = new float [100];
float[] size = new float[100];
color[] c = new color[100];
float[] speedX = new float[100];
float[] speedY = new float[100];
void setup() {
size(700,700);
background(255);
for(int i=0; i<x.length; i++){
x[i] = random(width);
y[i] = random(height);
size[i] = random(50,100);
speedX[i] = random(-10,10);
speedY[i] = random(-10,10);
c[i] = color(random(175,255),random(75),random(75));
}
}
void draw() {
background(255);
for(int i=0; i<x.length; i++) {
amy(x[i],y[i],size[i],c[i]);
x[i] = x[i] + speedX[i];
y[i] = y[i] + speedY[i];
if (x[i] > width || x[i]< 0) {
speedX[i] = -speedX[i];
}
if (y[i] > height || y[i]< 0) {
speedY[i] = -speedY[i];
}
}
}
void amy(float x, float y, float size, color c) {
stroke(c);
strokeWeight(7);
fill(255);
//stamp
rect(x-size*.5,y-size*.5,size*2,size*1.95);
//top radical
strokeWeight(5);
noFill();
line(x+size*.05,y,x+size*.95,y);
line(x+size*.3,y-size*.1,x+size*.3,y+size*.1);
line(x+size*.7,y-size*.1,x+size*.7,y+size*.1);
//vertical lines
line(x,y+size*.25,x,y+size);
line(x+size,y+size*.25,x+size,y+size);
line(x+size*.5,y+size*.25,x+size*.5,y+size);
//horizontal lines
line(x,y+size*.25,x+size,y+size*.25);
line(x,y+size,x+size,y+size);
line(x,y+size*.6,x+size,y+size*.6);
}
Optional
float[] x = new float[100];
float[] y = new float [100];
float[] size = new float[100];
color[] c = new color[100];
float[] speedX = new float[100];
float[] speedY = new float[100];
void setup() {
size(700,700);
background(255);
for(int i=0; i<x.length; i++){
x[i] = random(width);
y[i] = random(height);
size[i] = random(50,100);
speedX[i] = random(-10,10);
speedY[i] = random(-10,10);
c[i] = color(random(175,255),random(75),random(75));
}
}
void draw() {
background(255);
for(int i=0; i<x.length; i++) {
//my added interaction
amy(x[i],y[i],mouseX,c[i]);
x[i] = x[i] + speedX[i];
y[i] = y[i] + speedY[i];
if (x[i] > width || x[i]< 0) {
speedX[i] = -speedX[i];
}
if (y[i] > height || y[i]< 0) {
speedY[i] = -speedY[i];
}
}
}
void amy(float x, float y, float size, color c) {
stroke(c);
strokeWeight(7);
fill(255);
//stamp
rect(x-size*.5,y-size*.5,size*2,size*1.95);
//top radical
strokeWeight(5);
noFill();
line(x+size*.05,y,x+size*.95,y);
line(x+size*.3,y-size*.1,x+size*.3,y+size*.1);
line(x+size*.7,y-size*.1,x+size*.7,y+size*.1);
//vertical lines
line(x,y+size*.25,x,y+size);
line(x+size,y+size*.25,x+size,y+size);
line(x+size*.5,y+size*.25,x+size*.5,y+size);
//horizontal lines
line(x,y+size*.25,x+size,y+size*.25);
line(x,y+size,x+size,y+size);
line(x,y+size*.6,x+size,y+size*.6);
}
Question 1: In your own words, please explain the difference between having your for loop from Step 2 in setup()
as opposed to in draw()
.
When the for loop is in setup, it will only create 100 and then stop, but when the for loop is draw, it will create 100 over and over again. Things in setup() will only happen once whereas in draw() it will repeat.
Question 2: What is the benefit of using arrays? How might you use arrays in a potential project?
You can create and adjust many different shapes and its attributes instead of having to write it out over and over again. It streamlines the process and gives you more freedom to create multifaceted shapes/designs.