タートルグラフィックス
コンピューターグラフィックスでは、 タートルグラフィックスはデカルト平面上の相対カーソル(「タートル」)を使用するベクターグラフィックスです。 Turtleグラフィックは、Logoプログラミング言語の重要な機能です。
概要
カメには、場所、方向(または方向)、ペンの3つの属性があります。ペンにも属性があります:色、幅、オン/オフ状態。
カメは、「前方に10スペース移動する」や「左に90度回転する」など、自身の位置に関連するコマンドで移動します。カメが携帯するペンも、有効にする、色を設定する、または幅を設定することで制御できます。生徒は、彼らがカメならどうするか想像することで、カメの動きを理解することができます。シーモア・パペットは、この「身体同調性」推論を呼んだ。
完全なタートルグラフィックシステムには、制御フロー、手順、および再帰が必要です。多くのタートル描画プログラムでは不十分です。これらのビルディングブロックから、正方形、三角形、円、その他の複合図形など、より複雑な形状を構築できます。たとえば、タートルグラフィックスのアイデアは、フラクタルを生成するLindenmayerシステムで役立ちます。
タートルジオメトリは、厳密にアドレス指定されたグラフィックシステムの代替として、グラフィック環境でも使用されることがあります。
歴史
タートルグラフィックスは、多くの場合、ロゴプログラミング言語に関連付けられています。SeymourPapertは、1960年代後半にロゴにタートルグラフィックスのサポートを追加し、描画機能を実行するために設計されたユーザーのワークステーションから制御される単純なロボットであるタートルロボットのバージョンをサポートしましたロボット本体に取り付けられた、またはロボット本体に取り付けられた小さな格納式ペンを使用して割り当てられます。 Turtleジオメトリは、PostScriptなどの座標指定システムと比較して、主にベクトルベース(つまり、開始点からの相対的な方向と距離)に対応する( x 、 y )アドレス指定デカルトジオメトリとは多少異なります。実際問題として、より伝統的なモデルの代わりにカメのジオメトリを使用すると、カメのロボットの実際の動作ロジックを模倣します。カメは伝統的に、ほとんどの場合、三角形またはカメのアイコンとして絵で表されます(ただし、任意のアイコンで表すことができます)。
現在、Pythonプログラミング言語の標準ライブラリにはTurtleグラフィックモジュールが含まれています。ロゴの前身と同様に、タートルのPython実装により、プログラマーは2次元空間で1つ以上のタートルを制御できます。標準のPython構文、制御フロー、およびデータ構造はturtleモジュールと一緒に使用できるため、Pythonを学習しているプログラマーは言語の基本に慣れるためにturtleが一般的な方法になりました。
三次元への拡張
タートルグラフィックスの背後にあるアイデアを拡張して、3次元空間を含めることができます。これは、いくつかの異なる座標モデルのいずれかを使用して実現されます。タートルが円筒座標で動作する場合、タートルはその平面内に位置とヘディングを持ち、その平面は垂直軸の周りを回転します。これはしばしば、タートルが2つの異なる方位角を持つ亀として現れます。1つは飛行機内で、もう1つは飛行機の角度を決定します。通常、飛行機の角度を変更してもタートルは移動しません。
他の座標モデルも使用できます。 Cheloniidae Turtle Graphicsは、Java用の3Dタートルライブラリです。