Pythonのturtleでコッホ曲線を描く方法

Pocket

Pythonにはturtle タートルグラフィックス というライブラリがあります。
これを使ってコッホ曲線を描く方法についてまとめます。

前半にkochという関数を書きました。
引数は線の長さと深さとします。再帰的に呼び出しています。
後半で描画しています。
speedで描画速度を指定します。ここをゼロにしておかないと遅くてイライラします。
書き始めを中心から左に300ピクセル移動してから描画させます。
depthを変えることでコッホ曲線の複雑さが変わります。

from turtle import*

def koch(length, depth):
  if depth == 0:
    forward(length)
  else:
    koch(length / 3, depth - 1)
    left(60)
    koch(length / 3, depth - 1)
    right(120)
    koch(length / 3, depth - 1)
    left(60)
    koch(length / 3, depth - 1)

length = 600
depth = 4

speed(0)

penup()
goto(-300, 0)
pendown()

koch(length, depth)

done()

depth=1

depth=2

depth=3

depth=4

[ 2023年1月16日 | カテゴリー: Python | タグ: ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報