queryCircle method

List<int> queryCircle(
  1. double centerX,
  2. double centerY,
  3. double radius
)

Queries particles within a circular area Returns list of particle indices within the circle

Mathematical Operations:

  1. First filters nodes using rectangle-circle intersection
  2. Then checks exact distance using: sqrt((x2-x1)² + (y2-y1)²) <= radius

Implementation

List<int> queryCircle(double centerX, double centerY, double radius) {
  return _root
      .queryCircle(centerX, centerY, radius)
      .map((p) => p.index)
      .toList();
}