Распределение Пуассона по полусфере - PullRequest
2 голосов
/ 15 ноября 2009

Я только что реализовал генерацию Пуассона на плоскости с помощью этого простого алгоритма: http://people.cs.ubc.ca/~rbridson/docs/bridson-siggraph07-poissondisk.pdf

Теперь я хотел бы сгенерировать распределение Пуассонова диска на поверхности полусферы (или, лучше, на части сферической поверхности, при определенном угле)

Может кто-нибудь сказать мне алгоритм для этого?

Спасибо!

Ответы [ 2 ]

1 голос
/ 15 декабря 2009

Спасибо тебе за ответ! Я уже нашел решение раньше, поэтому выложу его здесь для тех, кому интересно:

сначала я создаю достаточное количество сэмплов пуассоновского диска в единицах квадратов (достаточно означает больше, чем n)

затем я сортирую эти выборки по меньшей координате (например, точка (10,9), меньшая координата равна 9 - другая точка (8,50), меньшая координата равна 8 - порядок точек будет (8,50), (10,9))

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

затем я использую отображение плоскости на сферу, описанное в http://www.cs.rutgers.edu/~decarlo/readings/mcrt-sg03c.pdf стр. 23, чтобы получить равномерно распределенные выборки на сегменте сферы произвольного угла области

хорошо работает для меня

0 голосов
/ 13 декабря 2009

Я бы посмотрел на: «Быстрая генерация образцов пуассоновского диска в n-мерном пространстве путем уточнения подразделения» Гамито и Мэддока. Это должно быть довольно легко распространить на сферу, используя Fekete "Рендеринг и управление сферическими данными с сферическими четырьмя деревьями".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...