Обнаружение столкновения между неоднородными знаковыми полями расстояния?

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

Мне очень нравится Ray Marching (в частности, Sphere Tracing) и возможность рендеринга на основе "расстояния" между точками и объектами, а не пересечений линий и объектов. Алгоритм лучевого марша приближается к поверхности, но точка пересечения не может быть вычислена. Форма неизвестна, но может быть аппроксимирована путем передачи точек в соответствующую функцию.

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

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

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

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

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

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

0 ответов

Другие вопросы по тегам