アプリケーション概要
Pythonとタートルグラフィックス(Turtle Graphics)モジュールを利用したアメリカの国旗の描画プログラムを作成しました。
ご依頼者様はタートルグラフィックスを用いてプログラミングを学習中のようでしたが、どうしてもアメリカの国旗を作ることができずお手本となるプログラムが欲しいとのご依頼でした。
実際に作成した国旗の画像は以下の通りです。
タートルグラフィックスとは
タートルグラフィックス(Turtle Graphics)は、プログラミングの教材としてよく使われるモジュールの一つで、PythonやJavaなど多くのプログラミング言語で利用できます。
利用者は仮想の「タートル」を操作し、その動きに基づいて図形やパターンを描くことができます。
タートルは線を描くペンを持っており、前進、後退、左回転、右回転させることができます。また、ペンの色、幅、形状を変更したり、ペンを上げて移動したり(線を描かない)、ジャンプなどを行うことができます。
Pythonで利用するための公式ドキュメントは以下となります。
動作画面
実際にタートルがアメリカ国旗を動く過程は以下の動画をご確認下さい。
描画スピードは turtle.Turtle().speed(0)
として設定しており、最速で描画するようにしています。
タートルグラフィックスを利用する際のコツ
以下に、タートルグラフィックスを上手く利用するためのコツを3点記載します。
プランを立てる
タートルの動きを事前に予想しながら、どのように動かせば良いかのプランを立てます。
例えば、正四角形を描くためには、タートルが前に一定の距離進み、右に90度回転することを4回繰り返すようにします。
タートルが行う基本的な操作(前進、回転)とそれらの回数・順序を決めることで、求める図形を描くことができます。
ループを使用する
正方形や正三角形など、複数回の反復が必要な図形を描く際は、ループを使用すると効率的です。
例えば、Pythonのforループやwhileループなどを使用することで、同じ操作を繰り返すことが可能となり、コードをシンプルにすることができます。
関数を積極的に使用する
コードの再利用性を高めるために、特定の図形を描くための役割を果たす関数を定義すると良いです。
例えば、正方形を描く関数や、円を描く関数などを作成します。これらの関数は、大きなプログラムの一部として何度も再利用することが可能です。また、関数を使用することでコードが整理され、読みやすくなると同時に、デバッグも楽になります。
例えば、星を描画する関数は以下のように定義できます。
def draw_star(t, color, x, y, size):
t.penup()
t.goto(x, y)
t.pendown()
t.fillcolor(color)
t.begin_fill()
t.penup()
for _ in range(5):
t.forward(size)
t.right(144)
t.pendown()
t.end_fill()
ご依頼について
NeeNetではTurtle Graphicsを使用したプログラムの作成のご相談もお受けしています。
プログラミングを学習中で、お手本となるプログラムが欲しいという方のご支援をさせて頂ければと思っております。
何かご相談事項がございましたら、一度ご連絡いただければと思います。