more lines
authorTomas Musil <tomik.musil@gmail.com>
Mon, 30 Jun 2014 15:18:19 +0000 (17:18 +0200)
committerTomas Musil <tomik.musil@gmail.com>
Mon, 30 Jun 2014 15:18:19 +0000 (17:18 +0200)
new_geometry.py
ransac_grid.py

index a9b8bdc..148430b 100644 (file)
@@ -27,8 +27,7 @@ def fill(l1, l2, lh, n):
         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))
@@ -37,7 +36,14 @@ def fill(l1, l2, lh, n):
               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], 
index df83b7f..4182555 100644 (file)
@@ -35,7 +35,7 @@ size = (520, 390)
 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):