Графика черепаха - Turtle graphics

В компьютерной графике , черепаха график является векторной графикой с использованием относительного курсора (далее « черепахой ») в случае декартовой плоскости (х и у оси) . Графика с черепахой - ключевая особенность языка программирования Logo .

Обзор

Анимация, показывающая, как черепаха используется для создания графики путем комбинирования команд вперед и поворота, когда ручка касается бумаги.
Спираль, нарисованная с помощью алгоритма итеративной графики черепахи
Графический узор черепахи, нарисованный с помощью программы на Python

У черепахи есть три атрибута: местоположение, ориентация (или направление) и ручка. Перо также имеет атрибуты: цвет, ширину и состояние включения / выключения (также называемые « вниз» и « вверх» ).

Черепаха перемещается с помощью команд, относящихся к ее собственному положению, таких как «двигаться вперед на 10 делений» и «повернуть налево на 90 градусов». Ручкой, которую несет черепаха, также можно управлять, включив ее, установив ее цвет или ширину. Студент мог понять (и предсказать и рассудить) движение черепахи, представив, что они бы сделали, если бы они были черепахой. Сеймур Паперт назвал это рассуждение «телесно-синтонным».

Полная система графики черепахи требует потока управления, процедур и рекурсии: многие программы рисования черепах не работают. Из этих строительных блоков можно строить более сложные формы, такие как квадраты, треугольники, круги и другие составные фигуры. Идея черепаховой графики, например, полезна в системе Линденмайера для генерации фракталов .

Геометрия черепахи также иногда используется в графических средах в качестве альтернативы графической системе с строго координатной адресацией.

История

Графика черепах часто ассоциируется с языком программирования Logo . Сеймур Пейперт добавил поддержку графики черепахи в Logo в конце 1960-х годов для поддержки своей версии робота-черепахи , простого робота, управляемого с рабочей станции пользователя, который предназначен для выполнения назначенных ему функций рисования с помощью небольшой выдвижной ручки, установленной в или прикреплен к телу робота. Геометрия черепахи работает несколько иначе , чем декартова геометрия с адресом ( x , y ) , будучи в основном векторной (т.е. относительное направление и расстояние от начальной точки) по сравнению с системами с координатной адресацией, такими как растровые изображения или растровая графика. На практике использование геометрии черепахи вместо более традиционной модели имитирует реальную логику движения робота-черепахи. Черепаха традиционно и чаще всего изображается в виде треугольника или значка черепахи (хотя она может быть представлена ​​любым значком).

Сегодня стандартная библиотека языка программирования Python включает графический модуль Turtle. Как и его предшественник Logo, реализация turtle на Python позволяет программистам управлять одной или несколькими черепахами в двухмерном пространстве. Поскольку стандартный синтаксис Python, поток управления и структуры данных могут использоваться вместе с модулем черепахи, черепаха стала популярным способом для программистов, изучающих Python, познакомиться с основами языка.

Расширение до трех измерений

3D-графика черепах, созданная с помощью Cheloniidae Turtle Graphics
Узор, нарисованный с помощью программы Python

Идеи, лежащие в основе графики черепах, могут быть расширены за счет включения трехмерного пространства. Это достигается за счет использования одной из нескольких различных координатных моделей. Если черепаха действует в цилиндрических координатах, то у нее есть местоположение и курс в пределах своей плоскости, и ее плоскость может вращаться вокруг вертикальной оси. Это часто проявляется в том, что черепаха имеет два разных угла курса, один в пределах плоскости, а другой определяет угол плоскости. Обычно изменение угла наклона самолета не приводит к перемещению черепахи.

В черепахе дается дополнительная команда Roll , которая вращает вектор нормали черепахи вокруг вектора направления, и статья переходит к разработке алгебраической теории для доказательства геометрических свойств на основе синтаксических свойств базовых программ черепахи.

Также могут использоваться другие координатные модели. Cheloniidae Turtle Graphics - это библиотека 3D-черепах для Java .

Смотрите также

Анимированный гиф с черепахой в MSWLogo ( Циклоида )

Рекомендации

дальнейшее чтение