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