Jump to content

Черепашья графика

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

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

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

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

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

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

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

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

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

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

Идеи, лежащие в основе графики черепах, могут быть расширены и включать трехмерное пространство. Это достигается за счет использования одной из нескольких различных моделей координат. Обычной настройкой является декартово вращение, как и в случае с исходной 2D-черепахой: определяется дополнительный вектор «вверх» ( вектор нормали ) для выбора плоскости, в которой вращается 2D-вектор «вперед» черепахи; сам вектор «вверх» также вращается вокруг вектора «вперед». Фактически, черепаха имеет два разных угла курса: один внутри плоскости, а другой определяет угол плоскости. Обычно изменение угла плоскости не приводит к перемещению черепахи в соответствии с традиционной установкой.

Верховев 2010 г. [5] реализует двухвекторный подход; команда вращения используется для поворота вектора «вверх» вокруг вектора «вперед». В статье развивается алгебраическая теория для доказательства геометрических свойств на основе синтаксических свойств базовых программ-черепах. Одним из выводов является то, что команда пикирования на самом деле является сокращением последовательности поворот-перекат-поворот.

Cheloniidae Turtle Graphics — это библиотека 3D-черепах для Java . у него есть команда крена (такая же, как крен ) и команда тангажа (такая же, как и пикирование В «Вращательной декартовой черепахе» ). Другие координатные модели, включая неевклидову геометрию, разрешены, но не включены. [6]

См. также

[ редактировать ]
Анимированная гифка с черепахой в MSWLogo ( Cycloid ) [7]
  1. ^ Голдман, Рон; Шефер, Скотт; Джу, Тао. «Геометрия черепахи в компьютерной графике и автоматизированном проектировании» (PDF) . CSE.WUSTL.edu .
  2. ^ Торнбург, Дэвид Д. (март 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. ^ Верховефф, Том (2010). «3D-геометрия черепах: рисунок, теория, программная эквивалентность и симметрия» . Международный журнал искусств и технологий . 3 (2/3): 288–319. дои : 10.1504/IJART.2010.032569 . Проверено 28 февраля 2021 г.
  6. ^ Спенсер Типпинг о cheloniidae (получено 17 сентября 2016 г.)
  7. ^ Пьетрокола, Джорджио (2005). «Тартапелаго» . Маэкла .

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

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2f6f645e170f12bf954fe3e270248937__1712266740
URL1:https://arc.ask3.ru/arc/aa/2f/37/2f6f645e170f12bf954fe3e270248937.html
Заголовок, (Title) документа по адресу, URL1:
Turtle graphics - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)