21 lines
556 B
Python
21 lines
556 B
Python
from turtle import goto, pu, pd, color, done
|
|
|
|
def level(ax, ay, bx, by, depth=0):
|
|
if depth > 0:
|
|
dx,dy = bx-ax, ay-by
|
|
x3,y3 = bx-dy, by-dx
|
|
x4,y4 = ax-dy, ay-dx
|
|
x5,y5 = x4 + (dx - dy)/2, y4 - (dx + dy)/2
|
|
goto(ax, ay), pd()
|
|
for x, y in ((bx, by), (x3, y3), (x4, y4), (ax, ay)):
|
|
goto(x, y)
|
|
pu()
|
|
level(x4,y4, x5,y5, depth - 1)
|
|
level(x5,y5, x3,y3, depth - 1)
|
|
|
|
if __name__ == '__main__':
|
|
color('red', 'yellow')
|
|
pu()
|
|
level(-100, 500, 100, 500, depth=8)
|
|
done()
|