У меня есть две непараллельные линии (XA и YB), которые мне нужно расширить до изогнутой линии (PQ).Линии состоят из массивов точек (x, y).A - последняя точка в линии XA, а B - последняя точка в линии YB.P и Q - граничные точки кривой.
Теперь мне нужно расширить точку A до P и точку B до Q.таким образом, я могу найти правильную соответствующую точку кривой PQ, так что A-> P и B-> Q, а не A-> Q и B-> P, в последнем случае расширенные линии будут пересекаться, что не должно происходить,
Ранее я пробовал простое логическое значение, но оно было неверным.
То, что я пробовал;
if(abs(A.x() - P.x()) < abs(B.x() - P.x())
// extend A to P
// extend B to Q
else
// extend A to Q
// extend B to P
Вышеприведенное не сработает для изображения, показанного ниже,тогда линия A будет расширена до точки Q, а линия B до P (расширение выделено красным).

Решения должны выглядеть следующим образом;


Любая помощь будет оценена.