Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのTurtleライブラリで四角形・円・六角形などさまざまな図形を描画する方法

この記事では、PythonのTurtle(タートル)ライブラリを使って、さまざまな図形を描く方法を解説します。Turtleは、Pythonに標準で用意されたお絵かきボードのような機能で、画面上の「タートル(亀)」に命令を出すことで、自由に図形を描画できます。

本記事で描画する図形は、正方形・長方形・円・六角形の4種類です。初心者にもわかりやすいよう、アルゴリズムとサンプルコード、実行結果まで順を追って紹介します。

アルゴリズム

手順1:各図形の辺の長さなどを入力として受け取ります。

手順2:forward()left()などのTurtleメソッドを組み合わせて、各図形を描画します。

サンプルコード

import turtle
t = turtle.Turtle()

# 正方形
side = int(input("Length of side: "))
for i in range(4):
    t.forward(side)
    t.left(90)

# 長方形
side_a = int(input("Length of side a: "))
side_b = int(input("Length of side b: "))
t.forward(side_a)
t.left(90)
t.forward(side_b)
t.left(90)
t.forward(side_a)
t.left(90)
t.forward(side_b)
t.left(90)

# 円
radius = int(input("Radius of circle: "))
t.circle(radius)

# 六角形
for i in range(6):
    t.forward(side)
    t.left(300)

コードのポイント

正方形は4回、六角形は6回繰り返し処理を行うことで描画できます。特に六角形では外角が60度になるため、t.left(300)(360度 − 60度)と指定するのがポイントです。また、円はcircle()メソッドに半径を渡すだけで簡単に描けます。

実行結果

SQUARE:
Length of side: 100
PythonのTurtleライブラリで四角形・円・六角形などさまざまな図形を描画する方法RECTANGLE:
Length of side a: 100
Length of side b: 20
PythonのTurtleライブラリで四角形・円・六角形などさまざまな図形を描画する方法CIRCLE:
Radius of circle: 60
PythonのTurtleライブラリで四角形・円・六角形などさまざまな図形を描画する方法HEXAGON:
Length of side: 100
PythonのTurtleライブラリで四角形・円・六角形などさまざまな図形を描画する方法

このように、Turtleライブラリを使えば短いコードでさまざまな図形を描画できます。forward()で前進し、left()で方向転換するという基本動作の組み合わせだけで、正方形から六角形まで自由に作図できるのが魅力です。ぜひ辺の長さや角度を変えて、いろいろな図形の描画に挑戦してみてください。

  1. Python(Tkinter)でウィンドウのスクリーンショットを撮る方法

    Pythonには豊富なモジュールや関数が用意されており、多機能なアプリケーションを構築・開発できます。中でもTkinterは、GUIベースのアプリケーション作成に広く利用されている有名なPythonライブラリです。ウィンドウのスクリーンショットを撮影するアプリケーションを開発したい場合も、Tkinterを使えばGUI部分を簡単に構築できます。 この記事では、以下のステップに沿ってアプリケーションの仕組みを解説します。 必要なライブラリ – 画像処理用の Pillow(PIL)、およびファイル名のランダム化やエポック時間の処理に使用するPython標準の timeモジュール。さらに、画面キャ

  2. PythonとMatplotlibで点群の中心座標を取得・可視化する方法

    一連のポイント(点群)の中心を求めるには、リスト内のすべての要素を合計し、その合計値をリストの要素数(長さ)で割ります。この計算結果が、対応する各軸における中心座標となります。これはいわゆる「平均値」であり、点群の重心を表します。実装の手順データポイントとして x 座標と y 座標の2つのリストを作成します。plot() メソッドを使って、x および y のデータポイントをプロットします。x と y の各リストから、sum() と len() を組み合わせて中心座標のタプルを算出します。算出した中心点をグラフ上にプロットします。annotate() メソッドを使い、中心点に「center」とい