Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

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

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

Предложите другие варианты выполнения этого задания. При этом число команд не должно превышать пяти (есть пять других вариантов).

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

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

Предложите другой вариант рисунка, удовлетворяющий заданным условиям: одна из вершин прямоугольника расположена в точке (1, 1), а длины его сторон равны 2 и 4 единицам? (Существует еще семь вариантов.)

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

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

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


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

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

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

Тогда координаты вершины В можно записать как (х, у 4- 2), вершины С — как (х + 4, у 4- 2), вершины D — как (х + 4, у) (рис. 3.8).

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

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

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

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

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

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

переведи в точку (5, 5)

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

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





Дата публикования: 2014-10-25; Прочитано: 1918 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...