pub fn is_collinear(a: &Point, b: &Point, c: &Point) -> bool
the threshold are of 0.01 is used since lines may not be very aligned.