Python でタートル グラフィックスを作成する

Manav Narula 2024年2月15日
  1. Python でグラフィックス出力用の画面を作成する
  2. Python で Turtle() を使用して正方形を作成する
  3. Python で Turtle() を使用して八角形を作成する
  4. Python で Turtle() を使用して六角形を作成する
  5. Python で Turtle() を使用してスターを作成する
  6. Python で Turtle() を使用して円を作成する
  7. Python の Turtle ライブラリのその他の便利な関数
Python でタートル グラフィックスを作成する

ロゴ プログラミングは、基本的なコマンドを使用して形状や図形を作成できる基本的なプログラミング言語です。 子供たちにプログラミングの基本的な理解を与えるために紹介されています。

Python では、turtle ライブラリを使用して、Logo プログラミング言語をエミュレートするタートル グラフィックスを操作できます。 このプリインストールされたライブラリを使用すると、ロゴ プログラミングなどの簡単なコマンドでタートル グラフィックスを作成して操作できます。

このチュートリアルでは、Python でのタートル グラフィックスの例について説明します。

Python でグラフィックス出力用の画面を作成する

出力用の画面を作成することから始めます。 turtle.getscreen() メソッドは変数を画面として初期化し、画面がポップアップします。

この変数が変更され、出力が画面上に形成されます。 次に、画面に描画するために turtle.Turtle() コンストラクターで Turtle オブジェクトを初期化する必要があります。

上記のオブジェクトでタートルを動かすことができるいくつかの基本的な関数は、forward()right()left()、およびbackward()です。 これらの関数の短縮版は、それぞれ fd()rt()lt()、および bk() としても使用できます。

forward()backward() 関数はタートルをそれぞれ上下に動かしますが、right()left() 関数はタートルを与えられた角度に回転させます。

これらの関数をループや条件付きステートメントで使用して、さまざまな形状や図形を作成できます。 以下でそれらを見てみましょう。

Python で Turtle() を使用して正方形を作成する

正方形を作成するのは比較的簡単な作業です。 ループを 4 回繰り返します。

タートルは反復ごとに特定の距離を移動し、左または右に 90 度回転します。

以下のコードを参照してください。

import turtle

obj = turtle.Turtle()

for i in range(4):
    obj.forward(100)
    obj.right(90)

turtle.done()

出力:

タートル グラフィックス スクエア

上記の例では、Turtle オブジェクトを初期化し、単純にループを数回実行し、forward() 関数でタートルを動かし、right() 関数で回転させて正方形を作成しました。

Python で Turtle() を使用して八角形を作成する

タートルを必要な角度で回転させ、ループを 8 回繰り返して八角形を作成する必要があります。 回転に必要な角度は、360 を辺の数 (この場合は 8) で割ることで計算できます。

以下のコードを参照してください。

import turtle

obj = turtle.Turtle()

angle = 360.0 / 8

for i in range(8):
    obj.forward(100)
    obj.right(angle)

turtle.done()

出力:

タートル グラフィック オクタゴン

Python で Turtle() を使用して六角形を作成する

同様に、ループを 6 回繰り返してタートルを 60 度 (360/6) 回転させると、六角形を作成できます。

例:

import turtle

obj = turtle.Turtle()

angle = 360.0 / 6

for i in range(6):
    obj.forward(100)
    obj.right(angle)

turtle.done()

出力:

タートル グラフィック ヘキサゴン

Python で Turtle() を使用してスターを作成する

星は、前に説明したものよりもはるかに複雑な図形です。 まず、タートルを 75 度回転させて前方に動かします。

次に、これを 144 度の角度に回転させ、同じ距離だけ移動することで 4 回繰り返します。

以下のコードを参照してください。

import turtle

obj = turtle.Turtle()

obj.right(75)
obj.forward(100)

for i in range(4):
    obj.right(144)
    obj.forward(100)

turtle.done()

出力:

タートル グラフィックス スター

Python で Turtle() を使用して円を作成する

turtle ライブラリには、形状を直接作成するための組み込み関数がいくつかあります。

circle() 関数は、タートル グラフィックスを使用して円を作成できます。 関数内で円の半径を指定するだけです。

例:

import turtle

obj = turtle.Turtle()

obj.circle(100)

turtle.done()

出力:

タートル グラフィックス サークル

Python の Turtle ライブラリのその他の便利な関数

出力が生成される画面を編集できます。 背景色を変更するには turtle.bgcolor() 関数を使用し、画面にタイトルを追加するには turtle.title() 関数を使用します。

turtle.shapesize() および turtle.fillcolor() 関数を使用して、タートルのサイズと色を制御することもできます。

次のコードでは、前述の関数を使用します。

import turtle

obj = turtle.Turtle()

turtle.title("DelftStack")
turtle.bgcolor("red")

obj.shapesize(3, 3, 3)
obj.fillcolor("blue")

turtle.done()

出力:

タートルとバックグラウンド関数

ご覧のとおり、カメの形と色が変わりました。 また、画面の背景は赤く、ウィンドウにはタイトルが表示されていました。

turtle.shape() 関数でタートルの形を変えることができます。

画面上のペン描画のサイズと色を制御するには、turtle.pensize() および turtle.pencolor() 関数を使用します。

例:

import turtle

obj = turtle.Turtle()

obj.pensize(5)
obj.pencolor("red")
obj.forward(100)

turtle.done()

出力:

ペン関数タートル 1

上記の例では、ペンのサイズが 5 倍に拡大され、色も変更されていることがわかります。 pen() 関数は、前述の属性を 1つの関数で制御できます。

この関数は、pencolorpensizefillcolor、および speed パラメータを使用できます。 fillcolor 属性は、作成された形状を色で塗りつぶします。

speed 属性は、ペンが動く速度を制御します。

以下のコードを参照してください。

import turtle

obj = turtle.Turtle()

obj.pen(pensize=5, pencolor="blue", fillcolor="red", speed=10)
obj.begin_fill()
obj.circle(100)
obj.end_fill()
turtle.done()

出力:

ペン関数タートル 2

この記事では、turtle ライブラリを使用した Python でのタートル グラフィックスの基本について説明しました。 画面上でタートルを動かし、基本的な形状を作成する方法について説明しました。

また、事前に作成された関数を使用して形状を作成する方法についても説明しました。 画面、タートル、および画面上のペンを制御および編集するためのさまざまな方法について説明しました。

著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Python Turtle