Очки столкновения в GJK - PullRequest
6 голосов
/ 19 июня 2010

Есть ли способ изменить алгоритм Гилберта-Джонсона-Керти, чтобы он находил точки столкновения двух тел вместо истинного / ложного результата? Из того, что я понял, полученное значение расстояния можно использовать для нахождения этих точек. Я искал в Интернете, но не нашел никаких подсказок.

Ответы [ 2 ]

3 голосов
/ 24 июня 2011

То, что вы просите, не является корректным.Если они сталкиваются, то точка пересечения не определена - поскольку пересечение фактически является областью перекрытия и, таким образом, может быть любым числом возможных точек.Вместо этого вы должны думать о «точке пересечения» как о координате в пространстве-времени (dx, dy, dz, t), представляющей время удара, вместе с вектором перемещения между двумя телами, дающим вам их относительные конфигурации.

Один из способов изменить GJK для вычисления пересечения пространства-времени - это выполнить двоичный поиск по развернутому объему, чтобы найти момент времени непосредственно перед ударом.Используя эти данные, вы можете вычислить разделяющую ось и соответствующие экстремальные точки для обоих тел, что дает вам точное приближение точки удара.Этот подход также может быть быстрым, если вы повторно используете симплексы из предыдущих итераций поиска для ускорения последующих тестов.Кристер Эрциссон имеет некоторые заметки по этой технике здесь: http://realtimecollisiondetection.net/pubs/SIGGRAPH04_Ericson_GJK_notes.pdf

1 голос
/ 04 мая 2019

Эта статья содержит ответы на ваши вопросы и является актуальной. У меня нет никакого кода. и не собираюсь объяснять это, но у автора также есть подтуп на YouTube, объясняющий это. сейчас работаем над кодом, а их примеров очень мало. но это то, что вы хотите. Вы можете использовать упомянутый «менее эффективный» способ. в статье как. как это будет работать просто отлично для вашей работы. если ваша цель - чрезвычайно высокая производительность.

«Улучшение алгоритма GJK для более быстрого и надежного расстояния между выпуклыми объектами»

МАТТИА МОНТАНАРИ и НИК ПЕТРИНИК Оксфордский университет

ETTORE BARBIERI Лондонский университет королевы Марии

https://ora.ox.ac.uk/objects/uuid:69c743d9-73de-4aff-8e6f-b4dd7c010907/download_file?safe_filename=GJK.PDF&file_format=application%2Fpdf&type_of_work=Journal+article

...