fractal dragon curve
from kandinsky import * def dragon(n=8, dx=5, dy=0, x=160, y=120, a=90, c=color(0, 0, 255)): if n == 0: if dx == 0: if dy > 0: y1, y2 = y, y+dy+1 else: y1, y2 = y+dy, y+1 for y0 in range(y1, y2): set_pixel(x, y0, c) else: if dx > 0: x1, x2 = x, x+dx+1 else: x1, x2 = x+dx, x+1 for x0 in range(x1, x2): set_pixel(x0, y, c) return x+dx, y+dy, dx, dy else: x, y, dx, dy = dragon(n-1, dx, dy, x, y, 90, c) if a == 90: dx, dy = -dy, dx else: dx, dy = dy, -dx x, y, dx, dy = dragon(n-1, dx, dy, x, y, -90, c) return x, y, dx, dy