pub fn segments_cross(a: P2, b: P2, c: P2, d: P2) -> Option<P2>
Where the segments from a to b and from c to d cross, if they do.
a
b
c
d