From 35f42521ff44e51f2dc11f2ccb94e68633473f92 Mon Sep 17 00:00:00 2001 From: jshih123 Date: Mon, 9 Nov 2015 12:39:39 -0500 Subject: [PATCH 01/12] Added color of ball Color of ball based on x and y position on screen --- GravityBallCode/GravityBallCode.pde | 2 ++ 1 file changed, 2 insertions(+) diff --git a/GravityBallCode/GravityBallCode.pde b/GravityBallCode/GravityBallCode.pde index df2493b..a1fb39d 100644 --- a/GravityBallCode/GravityBallCode.pde +++ b/GravityBallCode/GravityBallCode.pde @@ -11,6 +11,7 @@ void setup() { diam = 80; velX = random(-5, 5); velY = random(-5, 5); + colorMode(HSB,800,600,100); } void draw() { @@ -23,6 +24,7 @@ void draw() { //add velocity to position x += velX; y += velY; + fill(x,y,100); //bounce ball if it hits walls if (x + diam/2 >= width) { From 0e3bd41ebe13a7edce6196f7e26da64c02cfb0ca Mon Sep 17 00:00:00 2001 From: jshih123 Date: Mon, 9 Nov 2015 12:42:05 -0500 Subject: [PATCH 02/12] Add gravity --- GravityBallCode/GravityBallCode.pde | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/GravityBallCode/GravityBallCode.pde b/GravityBallCode/GravityBallCode.pde index a1fb39d..f1edde6 100644 --- a/GravityBallCode/GravityBallCode.pde +++ b/GravityBallCode/GravityBallCode.pde @@ -1,5 +1,5 @@ //declare variables -float x, y, velX, velY, diam; +float x, y, velX, velY, diam, gravity; void setup() { //set size of canvas @@ -17,7 +17,7 @@ void setup() { void draw() { //draw background to cover previous frame background(0); - + gravity = 0.45; //draw ball ellipse(x, y, diam, diam); @@ -25,6 +25,8 @@ void draw() { x += velX; y += velY; fill(x,y,100); + + velY += gravity; //add gravity //bounce ball if it hits walls if (x + diam/2 >= width) { From 9412d5b1f48152583fb266775327055b3e38403e Mon Sep 17 00:00:00 2001 From: jshih123 Date: Mon, 9 Nov 2015 12:43:41 -0500 Subject: [PATCH 03/12] Added air resistance Added air resistance to make sure the ball bounces to a smaller height every time --- GravityBallCode/GravityBallCode.pde | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/GravityBallCode/GravityBallCode.pde b/GravityBallCode/GravityBallCode.pde index f1edde6..67182df 100644 --- a/GravityBallCode/GravityBallCode.pde +++ b/GravityBallCode/GravityBallCode.pde @@ -1,5 +1,5 @@ //declare variables -float x, y, velX, velY, diam, gravity; +float x, y, velX, velY, diam, gravity, airResistance; void setup() { //set size of canvas @@ -18,6 +18,7 @@ void draw() { //draw background to cover previous frame background(0); gravity = 0.45; + airResistance = 0.99; //draw ball ellipse(x, y, diam, diam); @@ -27,7 +28,7 @@ void draw() { fill(x,y,100); velY += gravity; //add gravity - + velY *= airResistance; //make sure the ball doesn't get higher than starting point //bounce ball if it hits walls if (x + diam/2 >= width) { velX = -abs(velX); //if the ball hits the right wall, assign x velocity the negative version of itself From 3b0d8d0338a3dd101031e8b9bfce341ed0ce93d5 Mon Sep 17 00:00:00 2001 From: jshih123 Date: Mon, 9 Nov 2015 12:58:57 -0500 Subject: [PATCH 04/12] Added array Added array to control count of balls --- GravityBallCode/GravityBallCode.pde | 69 +++++++++++++++++------------ 1 file changed, 40 insertions(+), 29 deletions(-) diff --git a/GravityBallCode/GravityBallCode.pde b/GravityBallCode/GravityBallCode.pde index 67182df..e276dd1 100644 --- a/GravityBallCode/GravityBallCode.pde +++ b/GravityBallCode/GravityBallCode.pde @@ -1,43 +1,54 @@ //declare variables -float x, y, velX, velY, diam, gravity, airResistance; - +float gravity, airResistance; +int count = 30; +//declare array +float[] x = new float[count]; +float[] y = new float[count]; +float[] velX = new float[count]; +float[] velY = new float[count]; +float[] diam = new float[count]; void setup() { //set size of canvas size(800, 600); - //initialize variables - x = width/2; - y = height/2; - diam = 80; - velX = random(-5, 5); - velY = random(-5, 5); + + for(int i = 0; i < count; i++) { + x[i] = width/2; + y[i] = height/2; + diam[i] = 80; + velX[i] = random(-5, 5); + velY[i] = random(-5, 5); colorMode(HSB,800,600,100); + } } void draw() { //draw background to cover previous frame background(0); - gravity = 0.45; - airResistance = 0.99; - //draw ball - ellipse(x, y, diam, diam); - - //add velocity to position - x += velX; - y += velY; - fill(x,y,100); + for (int i = 0; i < count; i++){ + gravity = 0.45; + airResistance = 0.99; + //draw ball + ellipse(x[i], y[i], diam[i], diam[i]); - velY += gravity; //add gravity - velY *= airResistance; //make sure the ball doesn't get higher than starting point - //bounce ball if it hits walls - if (x + diam/2 >= width) { - velX = -abs(velX); //if the ball hits the right wall, assign x velocity the negative version of itself - } else if (x - diam/2 <= 0) { - velX = abs(velX); //if the ball hits the left wall, assign x velocity the positive version of itself - } - if (y + diam/2 >= height) { - velY = -abs(velY); - } else if (y - diam/2 <= 0) { - velY = abs(velY); + //add velocity to position + x[i] += velX[i]; + y[i] += velY[i]; + fill(x[i],y[i],100); + + velY[i] += gravity; //add gravity + velY[i] *= airResistance; //make sure the ball doesn't get higher than starting point + //bounce ball if it hits walls + if (x[i] + diam[i]/2 >= width) { + velX[i] = -abs(velX[i]); //if the ball hits the right wall, assign x velocity the negative version of itself + } else if (x[i] - diam[i]/2 <= 0) { + velX[i] = abs(velX[i]); //if the ball hits the left wall, assign x velocity the positive version of itself + } + if (y[i] + diam[i]/2 >= height) { + velY[i] = -abs(velY[i]); + } else if (y[i] - diam[i]/2 <= 0) { + velY[i] = abs(velY[i]); + } } + } \ No newline at end of file From 1902f9b9c4523974d588ae961928e4341ce2f8b2 Mon Sep 17 00:00:00 2001 From: jshih123 Date: Mon, 9 Nov 2015 13:00:04 -0500 Subject: [PATCH 05/12] Bottom limit Make sure ball doesn't escape from bottom of screen --- GravityBallCode/GravityBallCode.pde | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/GravityBallCode/GravityBallCode.pde b/GravityBallCode/GravityBallCode.pde index e276dd1..840f1e4 100644 --- a/GravityBallCode/GravityBallCode.pde +++ b/GravityBallCode/GravityBallCode.pde @@ -49,6 +49,12 @@ void draw() { } else if (y[i] - diam[i]/2 <= 0) { velY[i] = abs(velY[i]); } + + if (y[i] >= height) { //make sure ball doesn't escape from bottom of screen + y[i] = height - velY[i]; + velY[i] = -abs(velY[i]); + } + } } \ No newline at end of file From 0dd40d7b9ebb2ecd35cac7d317fa641e6bf4af58 Mon Sep 17 00:00:00 2001 From: jshih123 Date: Mon, 9 Nov 2015 13:06:53 -0500 Subject: [PATCH 06/12] Background image Added a background image --- GravityBallCode/GravityBallCode.pde | 5 ++++- GravityBallCode/bg.jpg | Bin 0 -> 24421 bytes 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 GravityBallCode/bg.jpg diff --git a/GravityBallCode/GravityBallCode.pde b/GravityBallCode/GravityBallCode.pde index 840f1e4..5c15871 100644 --- a/GravityBallCode/GravityBallCode.pde +++ b/GravityBallCode/GravityBallCode.pde @@ -7,6 +7,8 @@ float[] y = new float[count]; float[] velX = new float[count]; float[] velY = new float[count]; float[] diam = new float[count]; +PImage bg; + void setup() { //set size of canvas size(800, 600); @@ -19,12 +21,13 @@ void setup() { velX[i] = random(-5, 5); velY[i] = random(-5, 5); colorMode(HSB,800,600,100); + bg = loadImage("bg.jpg"); } } void draw() { //draw background to cover previous frame - background(0); + background(bg); for (int i = 0; i < count; i++){ gravity = 0.45; airResistance = 0.99; diff --git a/GravityBallCode/bg.jpg b/GravityBallCode/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eef5ff8ff81b56d37c573092fb845d20e3cb5a9c GIT binary patch literal 24421 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 Date: Wed, 11 Nov 2015 17:48:32 -0500 Subject: [PATCH 07/12] Detect if mouse is inside circle Increase diameter if mouse is inside circle --- GravityBallCode/GravityBallCode.pde | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/GravityBallCode/GravityBallCode.pde b/GravityBallCode/GravityBallCode.pde index 5c15871..3bd8900 100644 --- a/GravityBallCode/GravityBallCode.pde +++ b/GravityBallCode/GravityBallCode.pde @@ -57,7 +57,12 @@ void draw() { y[i] = height - velY[i]; velY[i] = -abs(velY[i]); } + + + if (sq(mouseX - x[i]) + sq(mouseY - y[i]) < sq(diam[i]/2)) { //increase size if mouse is inside circle + diam[i] += 2; + } + } - } \ No newline at end of file From b4333ea4a57129fb7cdc8e768c1037768f628a3e Mon Sep 17 00:00:00 2001 From: JonathanJS Date: Wed, 11 Nov 2015 17:58:18 -0500 Subject: [PATCH 08/12] Decrease size of circle If mouse is not in contact and the circle is larger than the original size, decrease the size until it matches the original size. --- GravityBallCode/GravityBallCode.pde | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/GravityBallCode/GravityBallCode.pde b/GravityBallCode/GravityBallCode.pde index 3bd8900..9135aee 100644 --- a/GravityBallCode/GravityBallCode.pde +++ b/GravityBallCode/GravityBallCode.pde @@ -1,6 +1,7 @@ //declare variables float gravity, airResistance; int count = 30; +int radius = 80; //declare array float[] x = new float[count]; float[] y = new float[count]; @@ -17,7 +18,7 @@ void setup() { for(int i = 0; i < count; i++) { x[i] = width/2; y[i] = height/2; - diam[i] = 80; + diam[i] = radius*2; velX[i] = random(-5, 5); velY[i] = random(-5, 5); colorMode(HSB,800,600,100); @@ -53,16 +54,18 @@ void draw() { velY[i] = abs(velY[i]); } - if (y[i] >= height) { //make sure ball doesn't escape from bottom of screen - y[i] = height - velY[i]; - velY[i] = -abs(velY[i]); - } - + if (y[i] >= height) { //make sure ball doesn't escape from bottom of screen + y[i] = height - velY[i]; + velY[i] = -abs(velY[i]); + } - if (sq(mouseX - x[i]) + sq(mouseY - y[i]) < sq(diam[i]/2)) { //increase size if mouse is inside circle - diam[i] += 2; - } + if (sq(mouseX - x[i]) + sq(mouseY - y[i]) < sq(diam[i]/2)) { //increase size if mouse is inside circle + diam[i] += diam[i]/50; + } + else if (diam[i] > radius){ //automatically decrease if mouse is not in contact + diam[i] -= diam[i]/50; + } } } \ No newline at end of file From 8194f83857d391cf3778ae2ad76dbb91dc0a6df5 Mon Sep 17 00:00:00 2001 From: JonathanJS Date: Wed, 11 Nov 2015 18:09:00 -0500 Subject: [PATCH 09/12] Change background --- GravityBallCode/bg.jpg | Bin 24421 -> 56976 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/GravityBallCode/bg.jpg b/GravityBallCode/bg.jpg index eef5ff8ff81b56d37c573092fb845d20e3cb5a9c..f64245acd563071767114b5515968547b21cd85c 100644 GIT binary patch literal 56976 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 H|GfBL^?zuM literal 24421 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 Date: Wed, 11 Nov 2015 18:09:40 -0500 Subject: [PATCH 10/12] Reset circle if too big Reset circle to original size if it is bigger than the width or height of the canvas. --- GravityBallCode/GravityBallCode.pde | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/GravityBallCode/GravityBallCode.pde b/GravityBallCode/GravityBallCode.pde index 9135aee..732daeb 100644 --- a/GravityBallCode/GravityBallCode.pde +++ b/GravityBallCode/GravityBallCode.pde @@ -63,9 +63,11 @@ void draw() { if (sq(mouseX - x[i]) + sq(mouseY - y[i]) < sq(diam[i]/2)) { //increase size if mouse is inside circle diam[i] += diam[i]/50; } - else if (diam[i] > radius){ //automatically decrease if mouse is not in contact + else if (diam[i] > radius){ //automatically decrease if mouse is not in contact and circle is larger than original size diam[i] -= diam[i]/50; } - + if (diam[i] > width || diam[i] > height) { //reset if it gets too big + diam[i] = radius*2; + } } } \ No newline at end of file From 613368989003700cf66de8fb5f772f62469f747e Mon Sep 17 00:00:00 2001 From: jshih123 Date: Fri, 13 Nov 2015 12:35:35 -0500 Subject: [PATCH 11/12] Trig Function Rewrote code so diameter is related to -cosine function. This allows the ball to return to its original size when the ball becomes too big. --- GravityBallCode/GravityBallCode.pde | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/GravityBallCode/GravityBallCode.pde b/GravityBallCode/GravityBallCode.pde index 732daeb..ed1408d 100644 --- a/GravityBallCode/GravityBallCode.pde +++ b/GravityBallCode/GravityBallCode.pde @@ -1,14 +1,16 @@ //declare variables float gravity, airResistance; int count = 30; -int radius = 80; +int size = 80; //declare array float[] x = new float[count]; float[] y = new float[count]; float[] velX = new float[count]; float[] velY = new float[count]; float[] diam = new float[count]; +float[] t = new float[count]; PImage bg; +int amp = 100; void setup() { //set size of canvas @@ -18,7 +20,7 @@ void setup() { for(int i = 0; i < count; i++) { x[i] = width/2; y[i] = height/2; - diam[i] = radius*2; + diam[i] = size; velX[i] = random(-5, 5); velY[i] = random(-5, 5); colorMode(HSB,800,600,100); @@ -58,16 +60,18 @@ void draw() { y[i] = height - velY[i]; velY[i] = -abs(velY[i]); } - + diam[i] = -amp*cos(t[i])+size+amp/2; if (sq(mouseX - x[i]) + sq(mouseY - y[i]) < sq(diam[i]/2)) { //increase size if mouse is inside circle - diam[i] += diam[i]/50; - } - else if (diam[i] > radius){ //automatically decrease if mouse is not in contact and circle is larger than original size - diam[i] -= diam[i]/50; - } - if (diam[i] > width || diam[i] > height) { //reset if it gets too big - diam[i] = radius*2; + if (t[i] < 2*PI) { + t[i] += .1; + } + else { + t[i]=0; + } } + else if (t[i] > 0){ //automatically decrease if mouse is not in contact and circle is larger than original size + t[i] -= .05; + } } } \ No newline at end of file From f5392fb0c2941086d6e099932ef479d652b96ef2 Mon Sep 17 00:00:00 2001 From: jshih123 Date: Fri, 13 Nov 2015 12:40:34 -0500 Subject: [PATCH 12/12] Distance function Streamline the code using the distance function --- GravityBallCode/GravityBallCode.pde | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GravityBallCode/GravityBallCode.pde b/GravityBallCode/GravityBallCode.pde index ed1408d..95e690b 100644 --- a/GravityBallCode/GravityBallCode.pde +++ b/GravityBallCode/GravityBallCode.pde @@ -62,7 +62,7 @@ void draw() { } diam[i] = -amp*cos(t[i])+size+amp/2; - if (sq(mouseX - x[i]) + sq(mouseY - y[i]) < sq(diam[i]/2)) { //increase size if mouse is inside circle + if (dist(x[i],y[i], mouseX, mouseY) < diam[i]/2) { //increase size if mouse is inside circle if (t[i] < 2*PI) { t[i] += .1; }