2010-04-19 3 views
2

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

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

Спасибо.

ответ

3
  1. Выберите сторону в случайном weighted by it's area (spare link или this one ...)
  2. Поместите точку случайным образом выбирается из равномерного распределения на той стороне
  3. намыливать, смыть, повторить.

или альтернативно

  1. Принятие решения о плотности точек
  2. Populate каждая сторона в свою очередь, со случайным набором точек, имеющих эту плотность

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

+0

Спасибо за t он помогает. Кажется, это создает точки на гранях окна, игнорируя ребра и вершины. Любые советы о том, как я могу включить ребра и вершины? – Myx

+0

@Myx: «On» края и вершины составляют очень мало доступной области (бесконечно малой в пределе реальных точек, но конечной для «точек»), поэтому случайное рассеяние не сильно ударит их. Убедитесь, что вы генерируете границы * включительно * фигуры. Это означает, что если длина 'l', в PRNG допускаются как' 0', так и 'l'. Если вы действительно хотите выделить фигуру, бросьте «по краю» очки отдельно. Для этого вам понадобится другая плотность. – dmckee

+0

по какой-то причине, когда я реализую схему, точки произвольно генерируются на 4 сторонах, но на 2 из них (они также являются противоположными сторонами, то есть сверху и снизу), точки генерируются только из центра лицом и вверх по нормали. Любая идея, что может пойти не так? – Myx

Смежные вопросы