pub fn line_line_2d( x1: fxx, y1: fxx, x2: fxx, y2: fxx, x3: fxx, y3: fxx, x4: fxx, y4: fxx) -> (fxx, fxx)
yay wikipedia