Python Turtle graphicsで渦巻き(Spiral)を描く
最近、Youtubeのチャンネルに2つの動画をアップロードして公開しました。動画は以下のようなPythonのTurtle graphicsで渦巻き模様を描くというものです。
このブログではこの動画の描き方についての簡単な説明していきます。
渦巻きを描く基本となるPythonのプログラミングコードは以下の通りです。
渦巻きを描いていく数式は
(渦巻きにもいろいろ種類があって、この形式のものは対数螺旋と呼ばれるようです)
動画ではこの基本形に手を加えて複数の渦巻きを同時に描くようにしています。Turtle graphicsはプログラミングの練習として簡単な図を描くのに用いられることが多いですし、条件を変えながら描いていくと意外におもしろいものがかけたりもします。
Pythonが使えるようならTurtle graphicsはすぐ使えるので、ものは試しに遊んでみてはいかがでしょう。
(Ubuntuの場合、python3-tkのパッケージをインストールする必要があるかも)
このブログではこの動画の描き方についての簡単な説明していきます。
渦巻きを描く基本となるPythonのプログラミングコードは以下の通りです。
import turtle
import math
r = 1
k = 5
c = 10
i = 0
while i < 360*c:
turtle.goto(r*math.cos(math.radians(i))*math.exp(math.radians(i/k)), r*math.sin(math.radians(i))*math.exp(math.radians(i/k)))
i+=1
turtle.mainloop()
このコードの実行結果は以下のようになります。渦巻きを描いていく数式は
- x = r * cosθ * exp(θ/k)
- y = r * sinθ * exp(θ/k)
(渦巻きにもいろいろ種類があって、この形式のものは対数螺旋と呼ばれるようです)
動画ではこの基本形に手を加えて複数の渦巻きを同時に描くようにしています。Turtle graphicsはプログラミングの練習として簡単な図を描くのに用いられることが多いですし、条件を変えながら描いていくと意外におもしろいものがかけたりもします。
Pythonが使えるようならTurtle graphicsはすぐ使えるので、ものは試しに遊んでみてはいかがでしょう。
(Ubuntuの場合、python3-tkのパッケージをインストールする必要があるかも)
コメント
コメントを投稿