Как я могу рассчитать число Вебера с данными PhysX?

Я разрабатываю нефотореалистичную демонстрацию рендеринга воды, используя PhysX в качестве базового решения для физики (используя его симуляцию SPH), и хочу добавить рендеринг пены и капель для улучшения визуализации.

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

Следующие параметры используются для получения числа Вебера, связанного с определенной частицей или жидкостью в целом:

  • плотность
  • Относительная скорость (по отношению к окружающему воздуху)
  • Характеристическая длина
  • Поверхностное натяжение

Плотность и относительная скорость обеспечены PhysX, и я уже получил это. В то время как плотность представляет собой значение с плавающей точкой, скорость представляет собой вектор из 3 значений с плавающей точкой, по одному для каждой оси трехмерного пространства (x, y и z). Характерная длина и поверхностное натяжение не указаны, жесткие (или если они указаны, я не знаю, как их получить).

Итак, мои вопросы:

  • Я считаю, что число Вебера должно быть значением с плавающей точкой, чтобы я мог использовать его в качестве порога для разделения частиц на группы. Первая проблема здесь заключается в том, что для ее получения мне нужно использовать относительную скорость, предоставляемую PhysX, и это вектор с тремя значениями с плавающей запятой. Как я могу получить одно значение с плавающей точкой этого вектора, чтобы использовать его в уравнении, которое дает мне число Вебера?
  • Чтение некоторых научных работ (особенно этот, в разделе 3.2.1) я решил использовать фиксированные значения для характерной длины частиц и поверхностного натяжения. Вопрос в том, какие значения я должен использовать, и, если предположить, что для них есть идеальные значения, как я могу получить эти идеальные значения?

1

Решение

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

Поскольку вы, кажется, используете номер Вебера только для классификации, я думаю, что это относится и к вам.

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

  • Для скорости вы можете использовать абсолютное значение вектора.
  • Для характерной длины вам, вероятно, следует использовать размер капли / пены, так как это, кажется, единственная мера длины в вашей модели.

В частности, я бы не стал сильно беспокоиться об «идеальной ценности». Аппроксимации действительны для больших / малых значений (в зависимости от требуемой точности / реалистичности, скажем,> ~ 10 и <~ 0.1), поэтому коэффициент 2 не будет иметь значения в классификации. Если бы это было так, аппроксимация все равно была бы недействительной.

1

Другие решения


По вопросам рекламы [email protected]