Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Обзор [ править ]

Анимация, показывающая, как черепаха используется для создания графики, комбинируя команды движения вперед и поворота, пока ручка касается бумаги.
Спираль, нарисованная с помощью алгоритма итеративной графики черепахи
Графический узор черепахи, нарисованный с помощью программы Python
скриншот вывода из https://goplay.space/#61SJKVrWwj

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

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

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

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

История [ править ]

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

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

Расширение до трех измерений [ править ]

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

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

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

См. Также [ править ]

  • KЧерепаха
  • L-система
  • UCBLogo
  • NetLogo

Ссылки [ править ]

  1. ^ Гольдман, Рон; Шефер, Скотт; Джу, Тао. "Геометрия черепахи в компьютерной графике и автоматизированном дизайне" (PDF) . CSE.WUSTL.edu .
  2. ^ Thornburg, Дэвид Д. (март 1983). «Друзья черепахи: о логотипе и черепахах» . Вычислить! . п. 148 . Проверено 6 октября 2013 года .
  3. ^ «25.1. Черепаха - Графика черепахи - Документация Python 3.7.0» . docs.python.org . Проверено 23 августа 2018 .
  4. ^ «3. Привет, маленькие черепахи! - Как думать как компьютерный ученый: обучение с Python 3» . python.camden.rutgers.edu . Проверено 23 августа 2018 .
  5. ^ Спенсер Чаевые на морские черепахи (извлекаться 2016-9-17)

Дальнейшее чтение [ править ]

  • Паперт, Сеймур (1993). Mindstorms: Дети, компьютеры и мощные идеи (2-е изд.). Нью-Йорк: Основные книги . ISBN 0-465-04674-6. OCLC  794964988 .
  • Паперт, Сеймур (1993). Детская машина: переосмысление школы в эпоху компьютеров . Нью-Йорк: Основные книги. ISBN 0-465-01830-0. OCLC  248428992 .