Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import turtle
- def draw_triangle(points, color, my_turtle):
- my_turtle.fillcolor(color)
- my_turtle.up()
- my_turtle.goto(points[0][0],points[0][1])
- my_turtle.down()
- my_turtle.begin_fill()
- my_turtle.goto(points[1][0], points[1][1])
- my_turtle.goto(points[2][0], points[2][1])
- my_turtle.goto(points[0][0], points[0][1])
- my_turtle.end_fill()
- def get_mid(p1, p2):
- return ((p1[0] + p2[0]) / 2, (p1[1] + p2[1]) / 2)
- def sierpinski(points, degree, my_turtle):
- color_map = ['blue', 'red', 'green', 'white', 'yellow',
- 'violet', 'orange']
- draw_triangle(points, color_map[degree], my_turtle)
- if degree > 0:
- sierpinski([points[0],
- get_mid(points[0], points[1]),
- get_mid(points[0], points[2])],
- degree-1, my_turtle)
- sierpinski([points[1],
- get_mid(points[0], points[1]),
- get_mid(points[1], points[2])],
- degree-1, my_turtle)
- sierpinski([points[2],
- get_mid(points[2], points[1]),
- get_mid(points[0], points[2])],
- degree-1, my_turtle)
- def main():
- my_turtle = turtle.Turtle()
- my_win = turtle.Screen()
- my_points = [[-100, -50], [0, 100], [100, -50]]
- sierpinski(my_points, 3, my_turtle)
- main()
Add Comment
Please, Sign In to add comment