pub fn segment_intersection( a1: Vec2, a2: Vec2, b1: Vec2, b2: Vec2, ) -> Option<Vec2>
Returns the intersection point of segments a1–a2 and b1–b2, if any.
a1
a2
b1
b2