Python の Turtle でヒルベルト曲線

タートルグラフィックスは再帰的な図形を描くのに適しています。Python では組み込みで簡単にタートルグラフィックスが利用できるので(参照)、ヒルベルト曲線を描いてみました。

5次のヒルベルト曲線です。


コードは以下です。驚くほど簡単ですね。

from turtle import *

step = 10

def draw(depth, angle):
    if depth <= 0:
        return
    right(angle)
    draw(depth - 1, -angle)
    forward(step)
    left(angle)
    draw(depth - 1,  angle)
    forward(step)
    draw(depth - 1,  angle)
    left(angle)
    forward(step)
    draw(depth - 1, -angle)
    right(angle)

color('firebrick')
draw(5, 90)
input()