2. Основные алгоритмы работы графопостроителя
Алгоритм построения вектора. При построении вектора различают основное направление движения (ОНД) и побочное направление движения (ПНД) пера графопостроителя. ОНД - это направление ( X или Y), в котором перо выполняет наибольшее количество шагов. Если, например, перо перемещается из точки (X1, Y1 ) в точку (X 2Y2) (см. рис. 8 ), то горизонтальное направление - ОНД, вертикальное - ПНД.
Таким образом осуществляется восьмиоктантное движение пера. На рисунках 8,а и 8,б указаны воспроизводимый вектор и ОНД в восьми октантах.
Алгоритм построения вектора основан на том, что в зависимости от ориентации вектора на плоскости XY на шаговые двигатели ШД-X и ШД-Y подаётся такое количество импульсов, которое соответствует перемещению пера по осям X и Y. Задание такого количества импульсов осуществляется с помощью алгоритма, использующего ОНД и ПНД. При выводе вектора, соединяющего точки (X1, Y1) и (X2, Y2) в направлении Х необходимо выполнить наибольшее количество шагов (см. рис. 8,а). Алгоритм реализуется с использованием выражений:
A= 2Y - X ,
B = 2Y, (1)
С = 2Y - 2X.
Если подставить в (1) начальные и конечные координаты очередного шага вдоль вектора и вычислить A, B и C, то в том случае, когда A 0, делается один шаг в направлении ОНД, величине A присваивается новое значение A : = A + B и определяются новые значения B и C. Если A = 0, то делается по одному шагу в направлениях ОНД и ПНД, величине A присваивается новое значение A : = A + C, и алгоритм повторяется, как описано выше. Таким образом, после каждого элементарного шага делается шаг в направлении ОНД или совместно в направлениях ОНД и ПНД и проверяются условия A или = 0.
Алгоритм построения (вывода) символов. Каждый символ алфавита ГП представлен на так называемой растровой сетке размером 5 х 8 единиц растра (см. рис. 9, а).
Каждый из символов начинается на растровой сетке в точке 1 ( координата точки (0,2) в единицах растра) и заканчивается в точке 2 (5,2). Расстояние между символами в строке символов заложено в растре и составляет один шаг растра, расстояние между строками (минимальное) составляет 2 шага растра и также заложено в растре. На рис. 9,а показано вычерчивание символа V, который составлен из 6 коротких векторов. При этом первый и шестой векторы (изображены на растровой сетке тонкими линиями) изображаются при поднятом пере (PU), а второй - пятый векторы (изображены жирными линиями) - при опущенном пере (PD). Координаты начала и конца каждого вектора задаются байтом (см. рис 9,б) . В седьмом бите каждого байта указывается положение пера ( 1- опустить, 0 - поднять). Размеры (высота, ширина, расстояние между символами) любого строчного и прописного символов задаются таблицей, приведённой ниже:
Таблица
-
Элемент
алфавита
Ширина
(шаги растра)
Высота
(шаги растра)
Расстояние между символами (шаги растра)
Прописная буква
4
6
1
Строчная буква
3
4 (6)
2
Цифра
3
6
2
Сокращённая длина
-
2
-
Расстояние между
строками
-
4
-
Пробел/обратный пробел
5/-5
-
-
Для изменения размера символов может быть использован множитель, значение которого равно 3. По программе могут быть введены и другие множители отличные от 3.
Алгоритмы вывода окружностей и дуг. Данные алгоритмы основаны на рекурсивном вычислении траектории движения пера по выражениям для пар значений координат точек, лежащих на окружности (дуге):
а) для нечётных точек:
X2i+1 = X2i - ()Y2i ,
Y2i+1 = ()X2i+1 +Y2i + ()2Y2i , (2)
б) для чётных точек:
X2i+2 = X2i+1 + ()4 X2i+1 - () Y2i+2 - ()3 Y2i+2 ,
Y2i+2 = ()2Xi+2 -( )Y2i+1 , (3)
где - элементарный угол, образованный радиусами, соединяющими центр с двумя соседними точками на окружности (дуге). Для полной окружности вычисляется 360/ 0,224 = 1608 пар значений координат точек. При выводе дуг угол, образованный радиусами, соединяющими центр с концами дуг, задаёт количество необходимых пар значений координат точек дуги.
- Кафедра «Компьютерные системы и технологии» (№12)
- I. Программно-аппаратный комплекс
- I.1 Архитектура программно-аппаратного комплекса
- I.2 Графический растровый дисплей
- 1.3 Графопостроитель
- 1.4 Дигитайзер
- II. Прикладное программное обеспечение пак
- II.1 Графический редактор
- II.2 Программа работы пэвм с дигитайзером
- II.3 Программа работы пэвм с графопостроителем
- III. Руководство для пользователей пак
- 1.Использование системы меню
- 2. Команды пункта меню элемент
- 3. Команды пункта меню схема
- 4. Команды пункта меню формат
- III.2 Органы управления и основные алгоритмы
- 1.Органы управления гп
- 2. Основные алгоритмы работы графопостроителя
- 3. Программирование графопостроителя см 6415 (6418)
- Рекомендуемая литература
- Операторы языка hpgl а) Команды вывода векторов
- Команды вывода текста
- В)Команды вычерчивания дуг и окружностей
- Г) Управляющие команды графопостроителя