piston_window::math
pub fn separation<T>(ray: [T; 4], v: [T; 2]) -> [T; 2] where T: Float,
Compute the shortest vector from point to ray. A ray stores starting point and directional vector.