равномерная генерация точек на 3D-боксе - PullRequest
2 голосов
/ 20 апреля 2010

Я хотел бы генерировать случайные точки на трехмерном блоке, определяемые его углами (minx, miny, minz) и (maxx, maxy, maxz). Я думал о генерации случайной точки внутри коробки, а затем каким-то образом проецировал ее на одну из сторон коробки. Тем не менее, у меня нет явной информации о плоскости для сторон бокса, и похоже, что она не даст равномерного распределения точек, поскольку, если некоторые стороны прямоугольника больше, чем другие, на этих сторонах должно быть создано больше точек.

Любые предложения приветствуются.

Спасибо.

1 Ответ

3 голосов
/ 20 апреля 2010
  1. Выберите случайную сторону , взвешенную по ее площади ( запасная ссылка или эта ...)
  2. Поместите точку, случайно выбранную из равномерного распределения на этой стороне
  3. пена, промыть, повторить.

или поочередно

  1. Определитесь с плотностью точек
  2. Заполните каждую сторону по очереди случайным набором точек с такой плотностью

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

...