Каков наилучший способ записи обнаружения столкновений лучей box-box в файле three.js? - PullRequest
0 голосов
/ 23 сентября 2011

Объекты в этом эксперименте перемещаются случайным образом: http://deeplogic.info/project/webGL/

Каков наилучший способ написания детектирования столкновений лучей в коробках для этого с использованием библиотеки three.js?

1 Ответ

0 голосов
/ 24 сентября 2011

Если вы используете трассировку лучей:

Для обоих полей отметьте, что это 12 ребер против 6 граней другого ящика. Если ни один из них не пересекается, вы можете быть уверены, что столкновения нет.

Чтобы проверить край одного ящика относительно лица другого ящика: Определите бесконечный луч, который идет прямо по краю. Определите бесконечную плоскость, лежащую на лице другой коробки. Используйте пересечение плоскости луча, чтобы найти точку пересечения бесконечной плоскости и бесконечного луча. Убедитесь, что точка пересечения: а) лежит на краю вашего ящика, и б) лежит в лицевой части другого ящика. Если это так, у вас есть пересечение!

Что касается того, что делать с этим пересечением, как только вы узнаете, что это произошло, это совершенно новая тема.

...