Генерация случайной точки внутри неправильного многоугольника - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь реализовать алгоритм, представленный в этой ссылке , чтобы сгенерировать n-случайно расположенных точек в выпуклом многоугольнике, используя python.Мне удалось успешно выполнить шаги 1 и 3, однако я не совсем понимаю, как выполнить шаг 2. Сначала необходимо выполнить шаг 2:

  • , чтобы найти долю от общей площади, занимаемой каждым треугольником.и сохраните это в списке.
  • , генерируя случайное двойное число из 0 - 1

Используя эти два компонента, пользователь заявляет следующее, и я цитирую:

вычитать каждое значение в списке до тех пор, пока следующее вычитание не сделает его отрицательным

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

Может кто-нибудь уточнить, пожалуйста?

Спасибо

РЕДАКТИРОВАТЬ

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

1 Ответ

0 голосов
/ 29 марта 2019

Похоже, numpy уже предоставляет эту функцию в numpy.random.choice. Этот ответ предоставляет дополнительную информацию.Если области содержатся в списке и нормализованы, то список может служить распределением вероятностей для метода выбора.

...