Я работал над алгоритмами обнаружения столкновений для алгоритма OBB, и я достиг точки, в которой он работает, но я нахожу строки, эквивалентные в пространстве ящика, действительно неэффективным способом с помощью некоторого взломанного кода (с использованием узлов Ogre3d), но Мне бы очень хотелось, чтобы это было сделано как можно проще с помощью небольших алгоритмов.
Обычно у меня есть 2 точки и прямоугольник (для простоты можно использовать 1 балл для каждого), и эти две точки составляют линию. Ящик можно повернуть как угодно, поэтому мне нужно повернуть ящик, чтобы он был выровнен по оси. Для этого мне также нужно, чтобы точки вращались в одном и том же пространстве с выравниванием по оси. Мне удалось это сделать, когда я работал в двух измерениях, но у меня возникли проблемы с поиском решения с помощью 3D.
Я понимаю эту концепцию, которую легко проиллюстрировать, если подумать о том, чтобы воткнуть карандаш в глиняную коробку, затем повернуть коробку, чтобы выровнять ее по оси, а затем выполнить вычисления, чтобы она была выровнена по оси, что намного проще, но код, стоящий за вращением линий, доставляет мне проблемы . Любая помощь будет оценена по достоинству :)