From 093c6173775f7f3b9b64e0bfb3830279981f7fbe Mon Sep 17 00:00:00 2001 From: Elsa Rodriguez Date: Tue, 17 Nov 2015 12:41:06 -0500 Subject: [PATCH 1/6] add vectors --- Wanderer/Wanderer.pde | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/Wanderer/Wanderer.pde b/Wanderer/Wanderer.pde index b6ce247..4067ec6 100644 --- a/Wanderer/Wanderer.pde +++ b/Wanderer/Wanderer.pde @@ -1,16 +1,17 @@ //declare variables -float x, y, velX, velY, diam; +float diam; +PVector loc; +PVector vel; void setup() { //set size of canvas size(800, 600); //initialize variables - x = width/2; - y = height/2; + loc = new PVector(width/2,height/2); diam = 80; - velX = random(-5, 5); - velY = random(-5, 5); + vel = PVector.random2D(); + vel.mult(10); } void draw() { @@ -18,20 +19,20 @@ void draw() { background(0); //draw ball - ellipse(x, y, diam, diam); + ellipse(loc.x, loc.y, diam, diam); //add velocity to position - x += velX; - y += velY; + loc.add(vel); //wrap the ball's position - if (x + diam/2 >= width) { - x = -diam/2; - } else if (x - diam/2 <= 0) { - x = width + diam/2; + if (loc.x + diam/2 >= width) { + vel.x = -abs(vel.x); + } else if (loc.x - diam/2 <= 0) { + vel.x = abs(vel.x); } - if (y + diam/2 >= height) { - y = -diam/2; - } else if (y - diam/2 <= 0) { - y = height + diam/2; + if (loc.y + diam/2 >= height) { + vel.y = -abs(vel.y); + } else if (loc.y - diam/2 <= 0) { + vel.y = abs(vel.y); } +} \ No newline at end of file From 6c508b77f70790464201b13b1def58a7cc89d82a Mon Sep 17 00:00:00 2001 From: Elsa Rodriguez Date: Tue, 17 Nov 2015 12:52:30 -0500 Subject: [PATCH 2/6] Create array for 30 balls --- Wanderer/Wanderer.pde | 54 ++++++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/Wanderer/Wanderer.pde b/Wanderer/Wanderer.pde index 4067ec6..08f794a 100644 --- a/Wanderer/Wanderer.pde +++ b/Wanderer/Wanderer.pde @@ -1,38 +1,44 @@ //declare variables float diam; -PVector loc; -PVector vel; +PVector[] loc = new PVector [30]; +PVector[] vel = new PVector [30]; void setup() { //set size of canvas size(800, 600); - - //initialize variables - loc = new PVector(width/2,height/2); - diam = 80; - vel = PVector.random2D(); - vel.mult(10); + for (int i=0; i<30; i++){ + //initialize variables + loc[i] = new PVector(width/2,height/2); + diam = 50; + vel[i] = PVector.random2D(); + vel[i].mult(10); + } } void draw() { //draw background to cover previous frame background(0); - //draw ball - ellipse(loc.x, loc.y, diam, diam); - - //add velocity to position - loc.add(vel); - - //wrap the ball's position - if (loc.x + diam/2 >= width) { - vel.x = -abs(vel.x); - } else if (loc.x - diam/2 <= 0) { - vel.x = abs(vel.x); - } - if (loc.y + diam/2 >= height) { - vel.y = -abs(vel.y); - } else if (loc.y - diam/2 <= 0) { - vel.y = abs(vel.y); + for (int i=0; i<30; i++) { + //add aesthetic + strokeWeight(10); + + //draw ball + ellipse(loc[i].x, loc[i].y, diam, diam); + + //add vel[i]oc[i]ity to position + loc[i].add(vel[i]); + + //wrap the ball's position + if (loc[i].x + diam/2 >= width) { + vel[i].x = -abs(vel[i].x); + } else if (loc[i].x - diam/2 <= 0) { + vel[i].x = abs(vel[i].x); + } + if (loc[i].y + diam/2 >= height) { + vel[i].y = -abs(vel[i].y); + } else if (loc[i].y - diam/2 <= 0) { + vel[i].y = abs(vel[i].y); + } } } \ No newline at end of file From 223e3c66d31eceb0f97cb1f5e2c460b5611a4189 Mon Sep 17 00:00:00 2001 From: Elsa Rodriguez Date: Tue, 17 Nov 2015 13:19:23 -0500 Subject: [PATCH 3/6] Pastel Aesthetic added --- Wanderer/Wanderer.pde | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/Wanderer/Wanderer.pde b/Wanderer/Wanderer.pde index 08f794a..18e7c2d 100644 --- a/Wanderer/Wanderer.pde +++ b/Wanderer/Wanderer.pde @@ -1,12 +1,12 @@ //declare variables float diam; -PVector[] loc = new PVector [30]; -PVector[] vel = new PVector [30]; +PVector[] loc = new PVector [40]; +PVector[] vel = new PVector [40]; void setup() { //set size of canvas - size(800, 600); - for (int i=0; i<30; i++){ + size(600, 600); + for (int i=0; i<40; i++){ //initialize variables loc[i] = new PVector(width/2,height/2); diam = 50; @@ -17,11 +17,27 @@ void setup() { void draw() { //draw background to cover previous frame - background(0); + background(236,219,188); - for (int i=0; i<30; i++) { + for (int i=0; i<40; i++) { //add aesthetic - strokeWeight(10); + strokeWeight(15); + noFill(); + if (i<8) { + stroke(255,230,234,400); + } + else if (i<16) { + stroke(240,240,240,400); + } + else if (i<24) { + stroke(223,247,246,400); + } + else if (i<32) { + stroke(161,227,224,400); + } + else if (i<40) { + stroke(120,191,188,400); + } //draw ball ellipse(loc[i].x, loc[i].y, diam, diam); From 0a42fc94e7f0ddbcbc8f5aa9d9787e2ed0113e52 Mon Sep 17 00:00:00 2001 From: Elsa Rodriguez Date: Tue, 17 Nov 2015 13:25:04 -0500 Subject: [PATCH 4/6] Added acceleration --- Wanderer/Wanderer.pde | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Wanderer/Wanderer.pde b/Wanderer/Wanderer.pde index 18e7c2d..7982251 100644 --- a/Wanderer/Wanderer.pde +++ b/Wanderer/Wanderer.pde @@ -2,6 +2,7 @@ float diam; PVector[] loc = new PVector [40]; PVector[] vel = new PVector [40]; +PVector[] acc = new PVector [40]; void setup() { //set size of canvas @@ -12,31 +13,33 @@ void setup() { diam = 50; vel[i] = PVector.random2D(); vel[i].mult(10); + acc[i]= PVector.random2D(); + acc[i].mult(.5); } } void draw() { //draw background to cover previous frame - background(236,219,188); + background(0); for (int i=0; i<40; i++) { //add aesthetic strokeWeight(15); noFill(); if (i<8) { - stroke(255,230,234,400); + stroke(255,230,234,50); } else if (i<16) { - stroke(240,240,240,400); + stroke(240,240,240,50); } else if (i<24) { - stroke(223,247,246,400); + stroke(223,247,246,50); } else if (i<32) { - stroke(161,227,224,400); + stroke(161,227,224,50); } else if (i<40) { - stroke(120,191,188,400); + stroke(120,191,188,50); } //draw ball From a99224096461014f217b2c21367565905a418273 Mon Sep 17 00:00:00 2001 From: Elsa Rodriguez Date: Tue, 17 Nov 2015 13:27:10 -0500 Subject: [PATCH 5/6] HELP???? --- Wanderer/Wanderer.pde | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Wanderer/Wanderer.pde b/Wanderer/Wanderer.pde index 7982251..3ef00a2 100644 --- a/Wanderer/Wanderer.pde +++ b/Wanderer/Wanderer.pde @@ -11,8 +11,7 @@ void setup() { //initialize variables loc[i] = new PVector(width/2,height/2); diam = 50; - vel[i] = PVector.random2D(); - vel[i].mult(10); + vel[i] = new PVector(0,0); acc[i]= PVector.random2D(); acc[i].mult(.5); } @@ -46,7 +45,8 @@ void draw() { ellipse(loc[i].x, loc[i].y, diam, diam); //add vel[i]oc[i]ity to position - loc[i].add(vel[i]); + acc[i]= PVector.random2D(); + acc[i].mult(.5); //wrap the ball's position if (loc[i].x + diam/2 >= width) { From 78b5ed02a00d27352cac289f6e18daca46ebb50c Mon Sep 17 00:00:00 2001 From: Elsa Rodriguez Date: Thu, 19 Nov 2015 12:19:02 -0500 Subject: [PATCH 6/6] Fixed bugs AND it's working now! --- Wanderer/Wanderer.pde | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/Wanderer/Wanderer.pde b/Wanderer/Wanderer.pde index 3ef00a2..f7c08aa 100644 --- a/Wanderer/Wanderer.pde +++ b/Wanderer/Wanderer.pde @@ -7,11 +7,11 @@ PVector[] acc = new PVector [40]; void setup() { //set size of canvas size(600, 600); - for (int i=0; i<40; i++){ + for (int i=0; i<40; i++) { //initialize variables - loc[i] = new PVector(width/2,height/2); + loc[i] = new PVector(width/2, height/2); diam = 50; - vel[i] = new PVector(0,0); + vel[i] = new PVector(0, 0); acc[i]= PVector.random2D(); acc[i].mult(.5); } @@ -26,31 +26,34 @@ void draw() { strokeWeight(15); noFill(); if (i<8) { - stroke(255,230,234,50); - } - else if (i<16) { - stroke(240,240,240,50); - } - else if (i<24) { - stroke(223,247,246,50); + stroke(255, 230, 234, 100); + } else if (i<16) { + stroke(240, 240, 240, 100); + } else if (i<24) { + stroke(223, 247, 246, 100); + } else if (i<32) { + stroke(161, 227, 224, 100); + } else if (i<40) { + stroke(120, 191, 188, 100); } - else if (i<32) { - stroke(161,227,224,50); - } - else if (i<40) { - stroke(120,191,188,50); - } - + //draw ball ellipse(loc[i].x, loc[i].y, diam, diam); - + //add vel[i]oc[i]ity to position + acc[i]= PVector.random2D(); acc[i].mult(.5); - + + vel[i].add(acc[i]); + loc[i].add(vel[i]); + if(vel[i].mag()>5){ + vel[i].setMag(5); + } + //wrap the ball's position if (loc[i].x + diam/2 >= width) { - vel[i].x = -abs(vel[i].x); + vel[i].x = -abs(vel[i].x); } else if (loc[i].x - diam/2 <= 0) { vel[i].x = abs(vel[i].x); }