Linear Interpolation

linear-interpolation.pde
/**
 * Linear Interpolation. 
 * 
 * Move the mouse across the screen and the symbol will follow.  
 * Between drawing each frame of the animation, the ellipse moves 
 * part of the distance (0.05) from its current position toward 
 * the cursor using the lerp() function.
 */
 
float x = 0.0f;
float y = 0.0f;

void setup() {
    size(640, 360); 
    noStroke();  
}

void draw() { 
    background(51);
  
    // lerp() calculates a number between two numbers at a specific increment. 
    // The amt parameter is the amount to interpolate between the two values 
    // where 0.0 equal to the first point, 0.1 is very near the first point, 0.5 
    // is half-way in between, etc.  
  
    // Here we are moving 5% of the way to the mouse location each frame
    x = lerp(x, (float)mouseX, 0.05f);
    y = lerp(y, (float)mouseY, 0.05f);
  
    fill(255);
    stroke(255);
    ellipse(x, y, 66, 66);
}