А какие есть алгоритмы для поиска максимального скопления точек на плоскости?
Кстати, если вам не нравятся графические эвристики — есть способ даже лучше.
А именно посчитать мат. ожидание и дисперсию вашего списка точек. Это займет линейное время, а требуемой областью скорее всего будет круг с центром в мат. ожидании и радиусом в корень из дисперсии.
Не уверен, что всегда сработает именно такая постановка — может оказаться слишком большой разброс, однако очевидным плюсом будет линейное время работы. А сложные штуки с ползающей рамкой можно применять как запасной метод на случай большой дисперсии.
Делим массив на два четырехугольника, считаем в каждом, в котором больше, опять делим на два, считаем, снова делим на 2 считаем, и так сколько надо раз, пока не будет четырехугольник нужной точности. В идеале надо дойти до 1 точки, и из неё уже делать квадрат, круг или нужную фигуру, нужным размером.