Python turtle graphics - 作例 : 直線と回転のみによる図形

直線と回転のみによる図形

Python turtle graphicsで直進(forward)と回転(left)のみで図形を書いてみました。
操作自体はある距離を進んだところで左に曲がり、次は少しだけ距離を増やして再び進んで同じ動作を繰り返すというもの。例としては以下のような感じ。

import turtle

turtle.fd(50)
turtle.left(80)
turtle.fd(55)
turtle.left(80)
turtle.fd(60)
turtle.left(80)
turtle.fd(65)
turtle.left(80)
turtle.fd(70)
turtle.left(80)
turtle.fd(75)
turtle.left(80)
turtle.fd(80)
turtle.left(80)
turtle.fd(85)
turtle.left(80)
turtle.fd(90)

単純ですね。ただ操作自体は単純ですが、これを何回も繰り返して出来上がった図形はバラエティーに富んでいるのが出来ておもしろいです。例えば、曲がる角度を118.2度ではこのような図形になったりします(直線の長さをどう取るかにも依存しますが)。


ソースコード(操作部分のみ)

コードの図形描画操作部分のみ抜き出すと以下の通り。
a = 0
while True:
    angle = 16
    turtle.left(angle)
    turtle.fd(a)
    a = a + 2
    if a > 550:
        break

(実際のソースコードは多重ループや描画を速くするような処理も入れているのでもっと長いです)
上のコードでは曲がる角度としてangleという変数を用いています。1つ図形を書き終わったら、この変数を増やして新しい図形を書く、ということを繰り返します。直線の長さは変数aで指定していて曲がる際の増加分は+2としました。この長さが550を超えたら1つの図形描画を打ち切るようにしています。また、この長さの変数aについてはどの図形でも同じ設定にしています。
今回はangleで指定する変数は0.1度ずつ360度まで増加させたので、出来上がった図形は計3600枚になりました。

完成した図

動画

出来上がった図をすべてつなげて動画にしたものを以下に貼っておきます。


静止画

200枚くらいずつまとめてサムネイル風にしたものを以下に貼っておきます。



















まとめページ

Python turtle graphics まとめ


スポンサーリンク
Amazon商品リンク : Pythonプログラミング関連


コメント

スポンサーリンク


このブログの人気の投稿

Ubuntu Softwareが起動しないのでいろいろと調べてみる(Ubuntu 20.04.1 LTS)

gnuplotでプロットなどの色をcolornameの指定で変更する

Pythonのformat()を使って1桁の16進数でも2桁で出力する方法

gnuplot : グラフにグリッド線を描く方法(set grid)

gnuplot : プロット画像のサイズ指定について(set sizeとの違い)