addRepulsionForce method

void addRepulsionForce(
  1. String name,
  2. Vector2 source,
  3. double strength, {
  4. double minDistance = 10,
})

Add repulsion force from a point

Implementation

void addRepulsionForce(
  String name,
  Vector2 source,
  double strength, {
  double minDistance = 10,
}) {
  final toTarget = position - source;
  final distance = max(toTarget.length, minDistance);

  final forceDirection = toTarget.normalized();
  final force = forceDirection * (strength / (distance * distance));
  addForce(name, force);
}