Я працюю над суцільно двигуном фізики, і мені потрібно вибрати алгоритми для широкого та вузькофазного виявлення зіткнень. "Чисто безперервно" означає, що я ніколи не роблю випробування на перехрестях, а натомість хочу знайти способи зафіксувати кожне зіткнення до того, як воно станеться, і скласти кожен у стек "запланованих зіткнень", який замовляється TOI.
Широка фаза Єдиним безперервним широкофазним методом, про який я можу придумати, є закріплення кожного тіла у колі та перевірка, чи коли-небудь коло колись перекриватиметься іншим. Однак це здається жахливо неефективним і не має будь-якого вибору.
Я поняття не маю, які безперервні аналоги можуть існувати для сьогоднішніх дискретних методів скидання зіткнень, таких як квадратичні дерева. Як я можу зайнятися запобіганням невідповідних і безглуздих широких тестів, таких як дискретний двигун? Я також хотів би бачити зіткнення більше, ніж на 1 кадр вперед.
Вузька фаза
Мені вдалося адаптувати вузький SAT до постійної перевірки, а не дискретної, але я впевнений, що там є інші кращі алгоритми в документах або на сайтах, на які ви, хлопці, могли натрапити.
Які різні швидкі або точні алгоритми ви пропонуєте використовувати, і які переваги / недоліки кожного з них?
Заключна примітка:
я кажу про методи, а не алгоритми, тому що я ще не визначився з тим, як буду зберігати різні багатокутники, які можуть бути увігнутими, опуклими, круглими або навіть мати отвори. Я планую прийняти рішення на основі того, що вимагає алгоритм (наприклад, якщо я вибираю алгоритм, який розбиває багатокутник на трикутники або опуклі форми, я просто зберігаю дані полігону в цій формі).