Расчет того, какая линия находится впереди в точке пересечения двух проекций линий

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

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


person munz haz    schedule 18.03.2010    source источник


Ответы (1)


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

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

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

person Ron Warholic    schedule 18.03.2010