Думайте об этом так. Если у вас есть прямоугольник, где одна ось является радиусом, а другая - углом, и вы берете точки внутри этого прямоугольника, которые близки к радиусу 0. Все они будут располагаться очень близко к началу координат (то есть близко друг к другу на окружности.) Однако, точки около радиуса R, все они будут располагаться вблизи края круга (то есть далеко друг от друга).
Это может дать вам некоторое представление о том, почему вы получаете такое поведение.
Коэффициент, полученный по этой ссылке, говорит о том, сколько соответствующей области в прямоугольнике необходимо отрегулировать, чтобы она не зависела от радиуса после его сопоставления с окружностью.
Редактировать: То, что он пишет в ссылке, которой вы делитесь, таково: «Это достаточно легко сделать, рассчитав обратное кумулятивному распределению, и мы получим для r:».
Основная предпосылка здесь заключается в том, что вы можете создать переменную с желаемым распределением из униформы, отобразив униформу с помощью обратной функции кумулятивной функции распределения желаемой функции плотности вероятности. Зачем? Просто пока принимайте это как должное, но это факт.
Вот мое интуитивное объяснение математики. Функция плотности f (r) по отношению к r должна быть пропорциональна самой r. Понимание этого факта является частью любой основной книги исчисления. Смотрите разделы об элементах полярной зоны. Некоторые другие постеры упоминали об этом.
Итак, назовем это f (r) = C * r;
Оказывается, это большая часть работы. Теперь, поскольку f (r) должна быть плотностью вероятности, вы можете легко увидеть, что, интегрируя f (r) по интервалу (0, R), вы получите, что C = 2 / R ^ 2 (это упражнение для читателя .)
Таким образом, f (r) = 2 * r / R ^ 2
ОК, вот как вы получаете формулу в ссылке.
Затем, последняя часть идет от равномерной случайной величины u в (0,1), которую вы должны отобразить по обратной функции кумулятивной функции распределения от этой требуемой плотности f (r). Чтобы понять, почему это так, вам нужно найти расширенный вероятностный текст, такой как, вероятно, папулис (или получить его самостоятельно).
Интегрируя f (r), вы получаете F (r) = r ^ 2 / R ^ 2
Чтобы найти обратную функцию, вы устанавливаете u = r ^ 2 / R ^ 2, а затем решаете для r, что дает вам r = R * sqrt (u)
Это также имеет смысл интуитивно, u = 0 должно отображаться на r = 0. Кроме того, u = 1 должно отображаться на r = R. Кроме того, оно идет по функции квадратного корня, которая имеет смысл и соответствует ссылке.