пересечение между вектором представления о мировом пространстве и точкой в ​​мире - PullRequest
1 голос
/ 12 июня 2011

после вычисления вектора представления мирового пространства по координатам экрана (используя Нажмите, чтобы увеличить WebGL ), учитывая массив вершин, как мне найти ближайшую пересекающуюся точку в мировом пространстве?

1 Ответ

0 голосов
/ 05 января 2012

Вы проверяете каждый треугольник против луча. Если луч попадает в треугольник, и если он ближе, чем ближайший известный удар, вы запомните эту точку. Цикл, пока у вас больше нет треугольников.

http://www.lighthouse3d.com/tutorials/maths/ray-triangle-intersection/

Если вы используете много треугольников, это может быть медленно, поэтому вы можете построить структуру столкновений сетки b-дерева, октри, KD-дерева или сетки с множественным разрешением и сначала выполнить коллизию с широкой фазой перед тестированием треугольников, содержащихся в лист строения.

...