Вычисление, какая линия находится впереди в точке пересечения двух линейных проекций
Две линии в 3d проецируются на 2d экран, и их проекции пересекаются в точке, которую можно вычислить.
Если конечные точки линий в трехмерном пространстве известны и их точка пересечения в плоскости проекции также известна, как я могу определить, какая линия находится впереди в этой точке пересечения?
1 ответ
Как наивное решение, вы можете отменить проекцию точки пересечения в трехмерное пространство как сегмент (от zNear до zFar) и пересечь эту линию с обеими вашими тестовыми линиями, взяв ближе пересечение.
редактировать: немного более подробно, вы знаете, что ваш луч будет пересекать обе линии, когда вы формируете его, так что вы можете сформировать плоскость с четырьмя точками (две точки для проецируемого сегмента и две точки от конечных точек вашего сегмента тестовой линии) и теперь ваш тест пересечения может быть выполнен в 2D, используя стандартное уравнение параметрической линии.
На этом сайте есть образцы для пересечения линии.