# 16.4 `turtle` -- Tkのためのタートルグラフィックス

利用可能な条件: Tk.

`turtle`モジュールはオブジェクト指向と手続き指向の両方の方法でタートルグラフィックス・プリミティブを提供します。グラフィックスの基礎として`Tkinter`を使っているために、Tkをサポートしたpythonのバージョンが必要です。

手続き型インターフェイスでは、関数のどれかが呼び出されたときに自動的に作られるペンとキャンバスを使います。

`turtle`モジュールは次の関数を定義しています:

`degrees`( | )

  角度を計る単位を度にします。

`radians`( | )

  角度を計る単位をラジアンにします。

`reset`( | )

  スクリーンを消去し、ペンを中心に持って行き、変数をデフォルト値に設定します。

`clear`( | )

  スクリーンを消去します。

`tracer`( | flag)

  トレースをon/offにします(フラグが真かどうかに応じて)。トレースとは、線に沿って矢印のアニメーションが付き、線がよりゆっくりと引かれることを意味します。

`forward`( | distance)

  distanceステップだけ前に進みます。

`backward`( | distance)

  distanceステップだけ後ろに進みます。

`left`( | angle)

  angle単位だけ左に回ります。単位のデフォルトは度ですが、`degrees()`と`radians()`関数を使って設定できます。

`right`( | angle)

  angle単位だけ右に回ります。単位のデフォルトは度ですが、`degrees()`と`radians()`関数を使って設定できます。

`up`( | )

  ペンを上げます -- 線を引くことを止めます。

`down`( | )

  ペンを下げます -- 移動したときに線を引きます。

`width`( | width)

  線幅をwidthに設定します。

`color`( | s)

`color`( | (r, g, b))

`color`( | r, g, b)

  ペンの色を設定します。最初の形式では、色は文字列としてTkの色の仕様の通りに指定されます。二番目の形式は色をRGB値(それぞれは範囲[0..1])のタプルとして指定します。三番目の形式では、色は三つに別れたパラメータとしてRGB値(それぞれは範囲[0..1])を与えて指定しています。

`write`( | text[, move])

  現在のペンの位置にtextを書き込みます。moveが真ならば、ペンはテキストの右下の角へ移動します。デフォルトでは、moveは偽です。

`fill`( | flag)

  完全な仕様はかなり複雑ですが、推奨する使い方は: 塗りつぶしたい経路を描く前に`fill(1)`を呼び出し、経路を描き終えたときに`fill(0)`を呼び出します。

`circle`( | radius[, extent])

  半径radius、中心がタートルの左 varradiusユニットの円を描きます。extentは円のどの部分を描くかを決定します: 与えられなければ、デフォルトで完全な円になります。

  extentが完全な円である場合は、弧の一つの端点は、現在のペンの位置です。radiusが正の場合、弧は反時計回りに描かれます。そうでなければ、時計回りです。

`goto`( | x, y)

`goto`( | (x, y))

  座標x, yへ移動します。座標は二つの別個の引数か、2-タプルのどちらかで指定することができます。

このモジュールは`from math import *`も実行します。従って、タートルグラフィックスのために役に立つ追加の定数と関数については、`math`モジュールのドキュメントを参照してください。

`demo`( | )

  モジュールをちょっとばかり試しています。

exception `Error`
  このモジュールによって捕捉されたあらゆるエラー対して発生した例外。

例として、`demo()`関数のコードを参照してください。

このモジュールは次のクラスを定義します:

class `Pen`( | )

  ペンを定義します。上記のすべての関数は与えられたペンのメソッドとして呼び出されます。このコンストラクタは線を描くキャンバスを自動的に作成します。

class `RawPen`( | canvas)

  キャンバスcanvasに描くペンを定義します。これは``実際の''プログラムでグラフィックスを作成するためにモジュールを使いたい場合に役に立ちます。