Обнаружение столкновения между неоднородными полями со знаком? - PullRequest
0 голосов
/ 07 ноября 2019

Привет, ребята :) это мой первый вопрос, и я надеюсь, что это не слишком конкретный / широкий вопрос, на который я не смогу ответить.

Я очень взволнован Рэй Маршингом (в частности, отслеживанием сферы) и способностьюрендеринг основан на «расстоянии» между точками и объектами, а не на пересечении линий и объектов. Алгоритм лучевого марша приближается к поверхности, но точка пересечения не может быть рассчитана. Форма неизвестна, но ее можно аппроксимировать, передав точки в соответствующую функцию.

куб, представленный неоднородным полем расстояния

float cube(vec3 p) {
  p = abs(p);
  return max(p.x, max(p.y, p.z));
}

Под неоднородностью я подразумеваю, чтоРезультатом функции является не расстояние до объекта, но в большинстве случаев меньшее или равное. Таким образом, вы можете моделировать причудливые структуры и анимации с помощью формул (например, объединять / смешивать объекты).

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

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

Большое спасибо за чтение и ваши мысли:)

...