Черепашья графика
Эта статья нуждается в дополнительных цитатах для проверки . ( февраль 2008 г. ) |
В компьютерной графике черепаховая графика — это векторная графика, в которой используется относительный курсор (« черепаха ») на декартовой плоскости (оси x и y) . Черепашья графика — ключевая особенность языка программирования Logo . [1]
Обзор
[ редактировать ]


У черепахи есть три атрибута: местоположение, ориентация (или направление) и загон. Перо тоже имеет атрибуты: цвет, ширину и состояние включения/выключения (также называемое «вниз» и « вверх» ).
Черепаха перемещается по командам, которые зависят от ее собственного положения, например «перейти вперед на 10 делений» и «повернуть налево на 90 градусов». Ручкой, которую носит черепаха, также можно управлять, включив ее, задав ее цвет или ширину. Студент мог понять (а также предсказать и рассуждать) движение черепахи, представляя, что бы он делал, если бы был черепахой. Сеймур Пейперт назвал такое рассуждение «телесно-синтонным».
Полноценная графическая система черепах требует потока управления, процедур и рекурсии: многие программы рисования черепах не оправдывают ожиданий. Из этих строительных блоков можно строить более сложные фигуры, такие как квадраты, треугольники, круги и другие составные фигуры. Например, идея черепашьей графики полезна в системе Линденмайера для генерации фракталов .
Геометрия черепахи также иногда используется в графических средах как альтернатива графической системе со строгой координатной адресацией.
История
[ редактировать ]Графика черепахи часто ассоциируется с языком программирования логотипов . [2] Сеймур Пейперт добавил поддержку графики черепахи в логотип в конце 1960-х годов, чтобы поддержать свою версию робота-черепахи , простого робота, управляемого с рабочей станции пользователя, который предназначен для выполнения возложенных на него функций рисования с помощью небольшого выдвижного пера, установленного в или прикреплен к телу робота. Геометрия черепахи работает несколько иначе, чем с адресом ( x , y ) декартова геометрия , поскольку она в основном основана на векторах (т. е. относительном направлении и расстоянии от начальной точки) по сравнению с системами с координатной адресацией, такими как растровые изображения или растровая графика. На практике использование геометрии черепахи вместо более традиционной модели имитирует реальную логику движения робота-черепахи. Черепаху традиционно и чаще всего изображают либо в виде треугольника, либо в виде значка черепахи (хотя она может быть представлена любым значком).
Сегодня стандартная библиотека языка программирования Python включает графический модуль Turtle. [3] Как и его предшественник Logo, реализация черепахи на Python позволяет программистам управлять одной или несколькими черепахами в двухмерном пространстве. Поскольку стандартный синтаксис Python, поток управления и структуры данных могут использоваться вместе с модулем черепахи, черепаха стала популярным способом для программистов, изучающих Python, ознакомиться с основами языка. [4]
Расширение до трех измерений
[ редактировать ]

Идеи, лежащие в основе графики черепах, могут быть расширены и включать трехмерное пространство. Это достигается за счет использования одной из нескольких различных моделей координат. Обычной настройкой является декартово вращение, как и в случае с исходной 2D-черепахой: определяется дополнительный вектор «вверх» ( вектор нормали ) для выбора плоскости, в которой вращается 2D-вектор «вперед» черепахи; сам вектор «вверх» также вращается вокруг вектора «вперед». Фактически, черепаха имеет два разных угла курса: один внутри плоскости, а другой определяет угол плоскости. Обычно изменение угла плоскости не приводит к перемещению черепахи в соответствии с традиционной установкой.
Верховев 2010 г. [5] реализует двухвекторный подход; команда вращения используется для поворота вектора «вверх» вокруг вектора «вперед». В статье развивается алгебраическая теория для доказательства геометрических свойств на основе синтаксических свойств базовых программ-черепах. Одним из выводов является то, что команда пикирования на самом деле является сокращением последовательности поворот-перекат-поворот.
Cheloniidae Turtle Graphics — это библиотека 3D-черепах для Java . у него есть команда крена (такая же, как крен ) и команда тангажа (такая же, как и пикирование В «Вращательной декартовой черепахе» ). Другие координатные модели, включая неевклидову геометрию, разрешены, но не включены. [6]
См. также
[ редактировать ]
Ссылки
[ редактировать ]- ^ Голдман, Рон; Шефер, Скотт; Джу, Тао. «Геометрия черепахи в компьютерной графике и автоматизированном проектировании» (PDF) . CSE.WUSTL.edu .
- ^ Торнбург, Дэвид Д. (март 1983 г.). «Друзья черепахи: О логотипе и черепахах» . Вычислите! . п. 148 . Проверено 6 октября 2013 г.
- ^ «25.1. черепаха — графика черепахи — документация Python 3.7.0» . docs.python.org . Проверено 23 августа 2018 г.
- ^ «3. Привет, маленькие черепахи! — Как думать как ученый-компьютерщик: обучение с помощью Python 3» . python.camden.rutgers.edu . Проверено 23 августа 2018 г.
- ^ Верховефф, Том (2010). «3D-геометрия черепах: рисунок, теория, программная эквивалентность и симметрия» . Международный журнал искусств и технологий . 3 (2/3): 288–319. дои : 10.1504/IJART.2010.032569 . Проверено 28 февраля 2021 г.
- ^ Спенсер Типпинг о cheloniidae (получено 17 сентября 2016 г.)
- ^ Пьетрокола, Джорджио (2005). «Тартапелаго» . Маэкла .
Дальнейшее чтение
[ редактировать ]- Паперт, Сеймур (1993). Мозговые бури: дети, компьютеры и мощные идеи (2-е изд.). Нью-Йорк: Основные книги . ISBN 0-465-04674-6 . OCLC 794964988 .
- Паперт, Сеймур (1993). Детская машина: переосмысление школы в эпоху компьютеров . Нью-Йорк: Основные книги. ISBN 0-465-01830-0 . OCLC 248428992 .