Приветствую. Имеется бокс в локальных координатах(невыровненный) и матрица объекта. Подскажите эффективные алгоритмы.
Пересечение невыровненных боксов.
Сообщений 1 страница 4 из 4
Поделиться22008-12-22 20:59:06
А что именно нужно - можно легко построить просто пересечение двух боксов.
каждый бокс это пересечение 6 полупространств, соответственно по одному боксу строим 6 плосокстей и исходный бокс отесекаем по каждой их них с быстрым выходом, если нет пересечения.
Альтернаивный вариант - по обоим боксам строим AABB и находим их пересечение
Поделиться32008-12-22 22:22:49
Steps3D
Спасибо. Строить AABB не нужно, интересуют алгоритмы чисто для OBB. Нашёл ещё один способ, через проекции. Находим проекции боксов на 15 осей, 6 из которых это оси боксов, а остальные комбинации векторных произведений первых 6. Для удобной проверки, в этом методе, один из боксов переводят в систему координат другого. Но что-то этот метод мне кажется более громоздким в сравнении с проверкой плоскостями.
Вообще сейчас озадачился проблемой определения коллизий между большим кол-вом объектов, с высокой степенью точности(вплоть до полигонов). Смотрю в сторону вычислений на GPU. Если подскажите хорошее чтиво по этой теме, буду очень благодарен.
Отредактировано Booster (2008-12-22 22:24:03)
Поделиться42008-12-23 18:25:12
На тему проверок на пересечения большого количества объектов - смотрите главу 32 GPU Gems III - как раз о реализации collision detection на CUDA