Как я могу генерировать случайные точки на окружности окружности в JavaScript - PullRequest
34 голосов
/ 27 марта 2012

Я пытаюсь написать функцию, которая будет случайным образом возвращать координаты (x, y) по заданной окружности поэтому, если у меня есть точка с точкой (0,0) (являющаяся центром div), как я могу написать функцию, которая случайным образом помещает другие объекты, которые появляются среди внешнего края круга.

Все, что мне нужно, - это уравнение, которое, как я знаю, имеет какое-то отношение к получению расстояния от центра до края окружности, просто не знаю, как его вычислить и рандомизировать, чтобы оно выглядело хорошо.

1 Ответ

88 голосов
/ 27 марта 2012

Просто получите случайный угол:

var angle = Math.random()*Math.PI*2;

Тогда

x = Math.cos(angle)*radius;
y = Math.sin(angle)*radius;

Готово.

...