return (fill(l1, lm, (lh1, lhc), n / 2) +
[lm] +
fill(lm, l2, (lhc, lh2), n / 2))
- elif n == 2:
- # TODO fine tune this
+ elif n == 2 or n == 8:
nlt = intersection((lh1, l21), (l11, l22))
nlb = intersection((lh1, l22), (l12, l21))
nrt = intersection((lh2, l11), (l12, l21))
intersection((l12, l22), (nlt, nlb)))
nr = (intersection((l11, l21), (nrt, nrb)),
intersection((l12, l22), (nrt, nrb)))
- return [nl, nr]
+ if n == 2:
+ return [nl, nr]
+ elif n == 8:
+ return (fill(l1, nl, lh, 2) +
+ [nl] +
+ fill(nl, nr, lh, 2) +
+ [nr] +
+ fill(nr, l2, lh, 2))
def expand_right(grid, middle):
return expand(grid[-2], grid[-1],
def generate_models(sample, middle):
sgrid = map(lambda l:linef.line_from_angl_dist(l, size), sample)
lh = (gm.intersection(sgrid[0], middle), gm.intersection(sgrid[1], middle))
- for f in [0, 1, 2, 3, 5]:
+ for f in [0, 1, 2, 3, 5, 7, 8, 11, 15, 17]:
grid = gm.fill(sgrid[0], sgrid[1], lh , f)
grid = [sgrid[0]] + grid + [sgrid[1]]
for s in xrange(17 - f):