Advertisement
Guest User

Untitled

a guest
Mar 26th, 2014
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 0.91 KB | None | 0 0
  1. @@ -27,17 +27,15 @@
  2.      z.add(a, (-b.radius, 0))
  3.      z.add(b, (a.radius, 0))
  4.  
  5. -    if n - 3 >= 0:
  6. -        c = make(n - 3)
  7. -        p = getnestpos(a, b, c)
  8. -        z.add(c, p)
  9. -
  10. -        nest(z, n - 4, b, a)
  11. +    if n % 2 == 0:
  12. +        nest(z, n - 3, b, a, True)
  13. +    else:
  14. +        nest(z, n - 3, a, b, False)
  15.      
  16.      cache[n] = z
  17.      return z
  18.  
  19. -def nest(z, n, a, b, recurse=True):
  20. +def nest(z, n, a, b, dir):
  21.      if n >= 0:
  22.          ap = bp = None
  23.          for q in z.contents:
  24. @@ -51,9 +49,10 @@
  25.          p = getnestpos(a, b, c, ap, bp)
  26.          z.add(c, p)
  27.  
  28. -        if recurse:
  29. -            nest(z, n - 1, a, c, recurse=False)
  30. -            nest(z, n - 2, c, b)
  31. +        if dir:
  32. +            nest(z, n - 1, c, b, dir)
  33. +        else:
  34. +            nest(z, n - 1, a, c, dir)
  35.  
  36.  def getnestpos(a, b, c, ap=None, bp=None):
  37.      # use law of cosines to get angle between a->b and a->c
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement