Вычисление, какая линия находится впереди в точке пересечения двух линейных проекций - PullRequest
1 голос
/ 18 марта 2010

Две линии в 3d проецируются на 2d экран, и их проекции пересекаются в точке, которую можно вычислить.

Если известны конечные точки линий в трехмерном пространстве и также известна их точка пересечения в плоскости проекции, как я могу определить, какая линия находится впереди в этой точке пересечения?

1 Ответ

0 голосов
/ 18 марта 2010

Как наивное решение, вы можете отменить проекцию точки пересечения в трехмерное пространство как сегмент (от zNear до zFar) и пересечь эту линию с обеими вашими тестовыми линиями, принимая более близкое пересечение.

edit: немного глубже, вы знаете, что ваш луч будет пересекать обе линии, когда вы формируете его, так что вы можете сформировать плоскость с четырьмя точками (две точки для проецируемого сегмента и две точки от конечных точек вашего теста отрезок), и теперь ваш тест на пересечение может быть выполнен в 2D с использованием стандартного параметрического уравнения линии.

На этом сайте есть образцы для пересечения линия-линия.

...