Один из подходов может заключаться в том, чтобы подумать о том, как отобразить единообразные случайные числа в допустимые позиции.
Например (слегка упростить), если у вас был квадрат 200 x 200, и вы хотели избежать любых точекквадрат 100x100 в середине, вы можете сделать следующее для каждой координаты.Генерация случайного числа от 0 до 100. Если оно меньше 50, используйте его напрямую;в противном случае добавьте 100 к нему (чтобы поместить его в диапазон 150-200)
Концептуально это расширяет диапазон вокруг «дыры» в середине, в то же время оставляя полученные точки равномерно распределенными.
С вашим кругом будет сложнее, поскольку оси не являются независимыми, но стоит рассмотреть вариант этого метода.(Особенно если у вас есть только «мягкие» требования к случайности, и вы можете немного ослабить ограничения на распределение).