https://arbital.com/p/2d_coordinate_geometry