Guest User

Untitled

a guest
Apr 23rd, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. import turtle
  2.  
  3. def draw_triangle(points, color, my_turtle):
  4. my_turtle.fillcolor(color)
  5. my_turtle.up()
  6. my_turtle.goto(points[0][0],points[0][1])
  7. my_turtle.down()
  8. my_turtle.begin_fill()
  9. my_turtle.goto(points[1][0], points[1][1])
  10. my_turtle.goto(points[2][0], points[2][1])
  11. my_turtle.goto(points[0][0], points[0][1])
  12. my_turtle.end_fill()
  13.  
  14. def get_mid(p1, p2):
  15. return ((p1[0] + p2[0]) / 2, (p1[1] + p2[1]) / 2)
  16.  
  17. def sierpinski(points, degree, my_turtle):
  18. color_map = ['blue', 'red', 'green', 'white', 'yellow',
  19. 'violet', 'orange']
  20. draw_triangle(points, color_map[degree], my_turtle)
  21. if degree > 0:
  22. sierpinski([points[0],
  23. get_mid(points[0], points[1]),
  24. get_mid(points[0], points[2])],
  25. degree-1, my_turtle)
  26. sierpinski([points[1],
  27. get_mid(points[0], points[1]),
  28. get_mid(points[1], points[2])],
  29. degree-1, my_turtle)
  30. sierpinski([points[2],
  31. get_mid(points[2], points[1]),
  32. get_mid(points[0], points[2])],
  33. degree-1, my_turtle)
  34. def main():
  35. my_turtle = turtle.Turtle()
  36. my_win = turtle.Screen()
  37. my_points = [[-100, -50], [0, 100], [100, -50]]
  38. sierpinski(my_points, 3, my_turtle)
  39.  
  40. main()
Add Comment
Please, Sign In to add comment