Необходимо выполнить проекцию точки E на линию AB, определить, находится ли эта проекция в диапазоне отрезка AB, и найти длину, перпендикулярную точке проекции.То же самое для сегмента CD.
Чтобы найти точку проекции, получите вектор направления AB и AE
AB = (B - A)
AE = (E - A)
и найдите параметр, используя скалярное произведение
t = (AB * AE) / (AB * AB)
, если tлежит вне rnage 0..1, то ближайшая точка отрезка является одним из концов.В противном случае найдите точку проекции и длину проекции
P = A + AB * t
Len = length(E - P)