Копия Tool: Trimmed Line, 3 points
TrimLine3Pts[A,B,C, m1, m2] gives the segment shown.
A, B, C may fall in any order; the segment adjusts to follow.
I find this helps produce clear diagrams, and stays partial loss of sanity.
Notes:
I prefer not to redefine the endpoints when C crosses A or B:
Segment[A + Min[0, λ] a - m1 u, A + Max[1, λ] a + m2 u]
Set the margins to 0 for an ordinary segment.