пересечение между вектором взгляда в мировое пространство и точкой в ​​мире

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


person yael    schedule 12.06.2011    source источник
comment
Что вы находите трудным? Подсказка: расстояние от точки до линии указано на mathworld.wolfram.com/Point -LineDistance3-Dimensional.html.   -  person brainjam    schedule 12.06.2011


Ответы (1)


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

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

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

person Florian Bösch    schedule 04.01.2012