Случайная точка в трехмерном математическом объеме - PullRequest
0 голосов
/ 25 мая 2018

Быстрый вопрос, если у меня есть формула для математического трехмерного объема, возможно ли рассчитать точку случайной декартовой координаты (XYZ) в пределах объема?

И, если возможно, может ли тот, кто ответитпожалуйста, укажите, какую формулу мне нужно использовать?В настоящее время я смотрю на функции расстояния со знаком, но насколько я вижу, вы можете рассчитывать только для данной декартовой координаты, если она находится в объеме.

1 Ответ

0 голосов
/ 25 мая 2018

Простая стратегия состоит в том, чтобы использовать ограничивающий объем (прямоугольник / сфера или ad-hoc) и использовать технику отклонения: нарисуйте произвольную точку в ограничивающем объеме, пока она не попадет в истинный объем.Если объем достаточно компактный, а ограничивающий объем жесткий, вам потребуется в среднем менее двух рисунков.

Чтобы получить рисунки только внутри, вам необходимо использовать параметрическое представление объема, которое зависит отчастное неявное уравнение и выражение диапазонов параметров.Но получение равномерных распределений может быть сложной задачей.

Например, точки внутри тора получают с помощью

X = (R + t cos u) cos v
Y = (R + t cos u) sin v
Z = t sin u

, где u и v являются случайными в 0..2π и t случайно 0..r.

...