def HillClimbSearch(self, pts1, pts2, D, step): i = 0.0 theta = 0.0 d = D while d <= D: D = d theta += step newPoints = Utils.RotateByDegrees(pts1, theta) d = Utils.Distance(newPoints, pts2) i += 1 return [D, theta - step, i]