Как восстановить окружность по массиву точек?
А как они распределены? Если равномерно, или хотя бы симметрично, то сначала ищем центр масс (среднее арифметическое всех координат по X и Y отдельно, ибо "массы" равны), а затем считаем среднее удаление точек от этого центра - это будет радиус. Центром и радиусом задаётся окружность.

Но если не равномерно и не симметрично, то сложно сказать. Например, такой случай:
spoiler
Используйте алгоритм Эмо Велла (Emo Welzl) для построения минимальной охватывающей окружности

https://www.cyberforum.ru/geometry/thread1926478.h...
www.stsci.edu/~RAB/Backup%20Oct%2022%202011/f_3_Ca...

После чего уменьшите радиус найденной окружности (зафиксировав центр) так, чтобы количество точек внутри и снаружи стало примерно одинаковым.

Так как никаких детальных требований к искомой окружности вы не привели, этот алгоритм будет не лучше и не хуже любых других.