+ #l2s = random.sample(l2, 2)
+ l2s = [l2[0], l2[-1]]
+ l2s.sort(key=lambda l: l[1])
+ sgrid = map(lambda l:linef.line_from_angl_dist(l, size), l2s)
+ middle = lambda m: ((0, m),(520, m))
+ middle = middle(gm.intersection((sgrid[0][0], sgrid[1][1]),
+ (sgrid[0][1], sgrid[1][0]))[1])
+ lh = (gm.intersection(sgrid[0], middle), gm.intersection(sgrid[1], middle))
+ sc, grid = max(map(lambda g: (score(g, points, 530), g), generate_models(sgrid, lh)))
+ print time.time() - t0