Черепашья графикаЧерепа́шья гра́фика — принцип организации библиотеки графического вывода, построенный на метафоре Черепахи[1], воображаемого (а в некоторых экспериментах и реального) роботоподобного устройства, которое перемещается по экрану или бумаге и поворачивается в заданных направлениях, при этом оставляя (или, по выбору, не оставляя) за собой нарисованный след заданного цвета и ширины. Базовые принципыВпервые, по-видимому, черепашья графика была применена при реализации языка программирования Лого, в дальнейшем использовалась в ряде графических библиотек и систем программирования. Фактически используется управление рисованием в полярной системе координат, связанной с текущим положением черепахи. Базовые команды:
В системах, поддерживающих работу с несколькими черепахами, обычно есть команды
В системах, нацеленных на детей, например, в системе ЛогоМиры, есть возможность менять внешний вид черепахи, заменяя её стандартный вид на картинку из комплекта поставки или на нарисованную вручную. Кроме того, изображение черепахи можно делать крупнее или мельче, а также отпечатывать на листе или наоборот, копировать с листа. Одним из применений черепашьей графики являются L-системы[2], предоставляющие механизм для визуализации фрактальных кривых. ПримерыВ качестве примера рассмотрим рисование в начале координат квадрата со стороной в 100 точек в «обычной» графике: line (0, 0, 0, 100); line (0, 100, 100, 100); line (100, 100, 100, 0); line (100, 0, 0, 0); то же самое в черепашьей графике, на языке Лого: repeat 4 [forward 100 right 90] Обобщить данный пример для случая N-угольника в «обычной» графике уже довольно затруднительно, в то время как в черепашьей графике это так же просто: repeat :N [forward 100 right 360/:N] Пример рисования квадрата на языке Python import turtle
for i in range(4):
turtle.forward(50)
turtle.left(90)
Примечания
|