Пример алгоритма управления Чертёжником

Знакомимся с Чертёжником

Теория:

Исполнитель Чертёжник предназначен для построения рисунков на координатной плоскости.

 

Обрати внимание!

При задании точек этой координатной плоскости, в отличие от того, как это принято в математике, координаты x и y разделяются запятой.

Например, координаты выделенной на рисунке точки, будут записаны так: (1, 1).

 

 

Обрати внимание!

Чертёжник имеет перо, которое можно поднимать, опускать и перемещать.

При перемещении опущенного пера за ним остается след — отрезок от предыдущего положения пера до нового. При перемещении поднятого пера никакого следа на плоскости не остается. В начальном положении перо Чертёжника всегда поднято и находится в точке (0,0).

 

По команде поднять перо Чертёжник поднимает перо. Если перо уже было поднято, Чертёжник игнорирует эту команду: он не меняет положение пера и не сообщает об отказе. Иначе говоря, каким бы ни было положение пера до команды поднять перо, после этой команды оно будет поднятым.

 

Точно так же, независимо от первоначального положения, после выполнения команды опустить перо оно оказывается опущенным, то есть готовым к рисованию.

Рисунки Чертёжник выполняет с помощью команд сместиться в точку и сместиться на вектор.

По команде сместиться в точку (a, b) Чертёжник сдвигается в точку с координатами (a, b).

На рисунке показаны результаты выполнения команды сместиться в точку (2, 3) при различных положениях пера до этой команды.

Видно, что независимо от предыдущего положения перо оказывается в точке (2, 3), но длина и направление отрезка, который при этом чертится, могут быть различны.

 

Команду сместиться в точку называют командой абсолютного смещения.

Назовите координаты точек, в которых находился Чертёжник до выполнения команды сместиться в точку (2,3).

 

В каком случае в результате выполнения команды сместиться в точку (2,3) из некоторого показанного на рисунке начального положения не будет прочерчен ни один отрезок?

 

Пусть перо Чертежника находится в точке (x,y). По команде сместиться на вектор (a,b) Чертежник отсчитывает a единиц вправо вдоль горизонтальной оси (оси абсцисс), b единиц вверх вдоль вертикальной оси (оси ординат) и смещает перо в точку с координатами (x+a;y+b).

 

Таким образом, координаты, указанные в команде, отсчитываются не от начала координат, а относительно текущего положения пера Чертежника. Поэтому команду сместиться на вектор называют командой относительного смещения.

 

На рисунке показаны результаты выполнения команды сместиться на вектор (2,3) при различных положениях пера до этой команды. Из рисунка видно, что положение пера после этой команды зависит от его предыдущего положения, зато в результате получаются отрезки, длина и направление которых одинаковы.

 

В математике направленные отрезки называются векторами, отсюда и происходит название команды.

Обрати внимание!

Чертёжник может исполнять только правильно записанные команды.

Например, если вместо команды сместиться на вектор написать здвинь на вектор, то Чертёжник эту запись не поймёт и сразу же сообщит об ошибке. Ошибки в записи команд называются синтаксическими.

 

Алгоритм может содержать логические ошибки. Например, все команды записаны правильно, но последовательность их выполнения не приводит к поставленной цели или выполнение некоторых команд приводит к отказу.

 

Пример алгоритма управления Чертёжником

Теория:

Изобразим с помощью Чертёжника треугольник, положение вершин которого на координатной плоскости определяется парами чисел (1,1),(3,5),(5,2).

 

 

Так как в начале работы перо Чертёжника всегда поднято, то для рисования треугольника с заданными координатами достаточно выполнить следующую последовательность команд:

 

сместиться в точку (1,1)
опустить перо
сместиться в точку (3,5)
сместиться в точку (5,2)
сместиться в точку (1,1)

 

А теперь составим такой алгоритм управления Чертёжником, чтобы с его помощью в произвольном месте координатной плоскости можно было нарисовать прямоугольник со сторонами, параллельными координатным осям, длины которых равны 2 и 4 единицам.

 

Зафиксируем одну из вершин прямоугольника в точке (1,1). Нужный рисунок на координатной плоскости может выглядеть, как показано на рисунке.

 

 

Можно определить координаты каждой из вершин этого прямоугольника и для его изображения составить следующую программу:

 

сместиться в точку (1,1)
опустить перо
сместиться в точку (1,3)
сместиться в точку (5,3)
сместиться в точку (5,1)
сместиться в точку (1,1)

 

Этот алгоритм не будет решать поставленную задачу, если изменить координаты начальной точки. Изменение координат одной из вершин повлечет за собой пересчёт координат всех вершин прямоугольника. Причём это придётся делать самому разработчику алгоритма.

 

 

Воспользуемся для рисования заданного прямоугольника командой относительного смещения.

Пусть (x,y) — координаты вершины A прямоугольника ABCD.

 

 

Тогда координаты вершины B можно записать как (x,y+2), вершины C — как (x+4,y+2), вершины D — как (x+4,y).

 

Чтобы изобразить отрезок AB, воспользуемся командой сместиться на вектор (0,2).

 

В результате Чертёжник сдвинет перо из точки с координатами (x,y) в точку с координатами (x+0,y+2).

 

По команде сместиться на вектор (4,0) перо окажется в точке (x+4,y+2). Чтобы из этой точки перейти в точку (x+4,y+0), следует выполнить команду сместиться на вектор (0,−2). По команде сместиться на вектор (−4,0) перо Чертёжника прочертит отрезок к точке A:

 

 

Команда Координаты точки
Начальная точка (x,y)
сместиться на вектор (0,2) (x+0,y+2)
сместиться на вектор (4,0) (x+4,y+2)
сместиться на вектор (0,−2) (x+4,y+0)
сместиться на вектор (−4,0) (x,y)

 

Если в качестве вершины A зафиксировать точку с координатами (1,1), то программа будет выглядеть так:

 

сместиться в точку (1,1)
опустить перо
сместиться на вектор (0,2)
сместиться на вектор (4,0)
сместиться на вектор (0,−2)
сместиться на вектор (−4,0)

 

Для того чтобы нарисовать прямоугольник в другом месте координатной плоскости, например, в точке с координатами (5,5), достаточно изменить в этой программе только первую строку:

 

сместиться в точку (5,5)

 

С помощью команды абсолютного смещения рисунок «привязывается» к строго определённым точкам координатной плоскости. Она используется чаще всего для установки начального положения пера Чертёжника.

 

Команды относительного смещения применяются для создания рисунков, у которых точное место не важно или которые нужно воспроизводить в разных местах.

Чертёжник

Теория:

 

Что умеет делать Чертёжник?

 

Настройка → Параметры

 

С помощью специальных команд можно установить цвет линий, нарисовать окружность и залить замкнутую область. Установить один из стандартных цветов:

 

 


Дата добавления: 2022-11-11; просмотров: 38; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!