def linear_regression(points): if Tracker.distance(points[0], meanPoint(points)) < 10: return [0, 1] num_pts = len(points) xc = points[:, [0]] yc = points[:, [1]] ones = np.ones((num_pts, 1)) X = np.concatenate((ones, xc), axis=1) X_intermediary = np.dot(X.T, X) Y_intermediary = np.dot(X.T, yc) R = np.dot(inv(X_intermediary), Y_intermediary) k = R[1][0] last_2 = points[-2:] first_x = last_2[0][0] second_x = last_2[1][0] if first_x < second_x: return [1, k] else: return [-1, -k]