Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. import matplotlib.pyplot as plt
  2. from math import sin, cos, pi, sqrt
  3.  
  4. x_list = []
  5. y_list = []
  6.  
  7.  
  8. def get_koch(angle, length, gen):
  9. if gen > 0:
  10. get_koch(angle, length / 3, gen - 1)
  11. get_koch(angle + pi / 3, length / 3, gen - 1)
  12. get_koch(angle - pi / 3, length / 3, gen - 1)
  13. get_koch(angle, length / 3, gen - 1)
  14. else:
  15. x = x_list[-1] + length * cos(angle)
  16. y = y_list[-1] + length * sin(angle)
  17.  
  18. x_list.append(x)
  19. y_list.append(y)
  20.  
  21.  
  22. def draw_koch(angle, length, gen):
  23. x_list.append(-length / 2)
  24. y_list.append(0.25 * sqrt(1.25 * length ** 2))
  25.  
  26. get_koch(angle, length, gen)
  27. get_koch(angle - 2 * pi / 3, length, gen)
  28. get_koch(angle + 2 * pi / 3, length, gen)
  29.  
  30. plt.plot(x_list, y_list)
  31. plt.axis([-length / 1.5, length / 1.5, -length / 1.5, length / 1.5])
  32. plt.show()
  33.  
  34.  
  35. draw_koch(0.0, 300.0, 7)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement