Uses the turtle library to draw a Hilbert space-filling curve. This is what I came up with after a little bit of searching on the internet. Run with hilbert_run()
and modify that function to modify the output.
from turtle import * def hilbert(step, rule, angle, depth): if depth > 0: a = lambda: hilbert(step, "a", angle, depth - 1) b = lambda: hilbert(step, "b", angle, depth - 1) if rule == "a": left(angle) b() forward(step) right(angle) a() forward(step) a() right(angle) forward(step) b() left(angle) if rule == "b": right(angle) a() forward(step) left(angle) b() forward(step) b() left(angle) forward(step) a() right(angle) def hilbert_run(): reset() penup() goto(-80,-80) pendown() hilbert(5, "a", 90, 5)