applyBehaviour(particle, time, index) {
    this.calculate(particle, time, index);

    this.attractionForce.copy(this.targetPosition);
    this.attractionForce.sub(particle.p);
    this.lengthSq = this.attractionForce.lengthSq();

    if (this.lengthSq > 0.00004 && this.lengthSq < this.radiusSq) {
      this.attractionForce.normalize();
      this.attractionForce.multiplyScalar(1 - this.lengthSq / this.radiusSq);
      this.attractionForce.multiplyScalar(this.force);

      particle.a.add(this.attractionForce);
    }
  }
Applies this behaviour to a particle.
@param {Particle} particle - The particle to apply the behaviour to.
@param {number} time - The current simulation time.
@param {number} index - The index of the particle.