X-Git-Url: http://git.tomasm.cz/imago.git/blobdiff_plain/3790db9ab7a4871faf0b445c8283c7f0b7b30a22..4a1012ea76dc2bd7f2920d1901919edc4acc6645:/imago_pack/manual.py diff --git a/imago_pack/manual.py b/imago_pack/manual.py index c185525..f6f3807 100644 --- a/imago_pack/manual.py +++ b/imago_pack/manual.py @@ -10,6 +10,7 @@ class UserQuitError(Exception): pass class Screen: + # TODO isn't this a duplicate of something? def __init__(self, res): pygame.init() pygame.display.set_mode(res) @@ -22,12 +23,12 @@ class Screen: pygame.display.flip() def find_lines(im_orig): + # TODO rename, refactor, comment im = im_orig.copy() screen = Screen(im.size) - done = False clock = pygame.time.Clock() draw = ImageDraw.Draw(im) hoshi = lambda c: draw.ellipse((c[0] - 1, c[1] - 1, c[0] + 1, c[1] + 1), @@ -37,7 +38,7 @@ def find_lines(im_orig): line_width = 1 lines_r = [] - while not done: + while True: for event in pygame.event.get(): if event.type == pygame.QUIT or event.type == pygame.KEYDOWN: pygame.quit() @@ -60,7 +61,7 @@ def find_lines(im_orig): draw.line(l, fill=color, width=line_width) for l in l_hor: draw.line(l, fill=color, width=line_width) - #TODO sort by distance + # TODO sort by distance l_vert.sort() l_hor.sort() for i in [3, 9, 15]: @@ -74,7 +75,7 @@ def find_lines(im_orig): clock.tick(15) def lines(corners): - #TODO Error on triangle + # TODO Error on triangle cor_d = [(corners[0], (c[0] - corners[0][0], c[1] - corners[0][1]), c) for c in corners[1:]] cor_d = [(float(a[0] * b[0] + a[1] * b[1]) / (sqrt(a[0] ** 2 + a[1] ** 2) * @@ -87,6 +88,7 @@ def lines(corners): [(corners[0], corners[1]), (corners[2], corners[3])]) def _lines(corners, n): + # TODO what is this? if n == 0: x = half_line(corners) return (_lines([corners[0], x[0], x[1], corners[3]], n + 1) + [x] + @@ -113,6 +115,7 @@ def _lines(corners, n): def half_line(corners): + # TODO what is this? c = center(corners) d = intersection(line(corners[0], corners[3]), line(corners[1], corners[2])) if d: @@ -124,7 +127,7 @@ def half_line(corners): p2 = intersection(l, line(corners[2], corners[3])) return (p1, p2) - def center(corners): + """Given a list of four corner points, return the center of the square.""" return intersection(line(corners[0], corners[2]), line(corners[1], corners[3]))