// The Constructor (called when the object is first created)
 Particle(Vector3D a, Vector3D v, Vector3D l, float r_) {
   acc = a.copy();
   vel = v.copy();
   loc = l.copy();
   r = r_;
   timer = 100.0f;
 }
 // look, we can have more than one constructor!
 Particle(Vector3D l) {
   acc = new Vector3D(0, 0.05f, 0);
   // ooooh, bad random, random bad
   vel = new Vector3D(random(-1, 1), random(-2, 0), 0);
   loc = l.copy();
   r = 10.0f;
   timer = 100.0f;
 }
    // This constructor could be improved to allow a greater variety of pendulums
    Pendul(Vector3D origin_, float r_) {
      // Fill all variables
      origin = origin_.copy();
      r = r_;
      theta = 0.0f;

      // calculate the location of the ball using polar to cartesian conversion
      float x = r * sin(theta);
      float y = r * cos(theta);
      loc = new Vector3D(origin.x + x, origin.y + y);
      theta_vel = 0.0f;
      theta_acc = 0.0f;
      damping = 0.995f; // Arbitrary damping
      ballr = 16.0f; // Arbitrary ball radius
    }