Bouncing Ball

/** * Bouncing Ball with Vectors * by Daniel Shiffman. * * Demonstration of using vectors to control motion * of a body. This example is not object-oriented * See AccelerationWithVectors for an example of how * to simulate motion using vectors in an object. */ PVector location; // Location of shape PVector velocity; // Velocity of shape PVector gravity; // Gravity acts at the shape's acceleration void setup() { size(640, 360); location = PVector(100, 100); velocity = PVector(1.5, 2.1); gravity = PVector(0, 0.2); } void draw() { background(0); // Add velocity to the location. location.add(velocity); // Add gravity to velocity velocity.add(gravity); // Bounce off edges if ((location.x > width) || (location.x < 0)) { velocity.x = velocity.x * -1; } if (location.y > height) { // We're reducing velocity ever so slightly // when it hits the bottom of the window velocity.y = velocity.y * -0.95; location.y = height; } // Display circle at location vector stroke(255); strokeWeight(2); fill(127); ellipse(location.x, location.y, 48, 48); }