//<pre>
public class Spring
{
    public void setDamping(double t) { damp = t; } // <i>SET THE DAMPING FRICTION</i>
    public void setForce  (double t) { F    = t; } // <i>APPLY AN EXTERNAL FORCE</i>
    public void setMass   (double t) { mass = t; } // <i>SET THE OBJECT'S MASS</i>

    public double getPosition() { return P; }      // <i>GET CURRENT SPRING POSITION</i>

    public void update(double elapsed) {           // <i>USER CALLS THIS TO INTEGRATE</i>
       dV += (F -  P) / mass * elapsed;               // <i>FORCE    &rarr; VELOCITY</i>
       P   = (P + dV) * (1 - damp * elapsed);         // <i>VELOCITY &rarr; POSITION</i>
    }

    private double P = 0, dV = 0, F = 0, mass = 1.0, damp = 1.0;
}


