Файл: Оперативные графические системы в автоматизации проектирования..pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.10.2024
Просмотров: 72
Скачиваний: 0
I
Рис 5.6. Алгоритм асинхронного обслуживания
переходов ,в программе и облегчающих пользователю процесс выбора. Это может быть достигнуто за счет вывода сообщения (подсказки) о возможных в данном состоянии альтернативах перехода, удобных аппаратур но-программных средств: функциональных клавиш, све товых кнопок и т. п.
Разработан ряд программ, организующих развет вление вычислительного процесса с помощью команд, вводимых с различных устройств. Исходная информация о соответствии вызываемых процедур (меток перехода) командам пульта задается в виде таблицы. Программы ветвления выводят пользователю сообщение о возмож ных альтернативах переходов (названиях процедур) к переходят в состояние ожидания запроса пульта. После ввода команды управление передается на соответствую щую ей метку (вызываетсясоответствующая процедура).
Программа ветвления по клавиатуре выводит подсвет каждой клавиши ПФК, на которую разрешено нажатие в данной ситуации, устанавливает требование ввода для блока обмена и переходит в режим ожидания. После вво да код нажатой клавиши анализируется на принадлеж ность множеству разрешенных команд. Если окажется, что нажата «запрещенная» клавиша, команда игнориру ется.
Программа ветвления по «световым кнопкам» выво дит в командную область экрана названия процедур («световые кнопки»). Выбор нужной кнопки производит ся с помощью светового пера или указательного маркера, после чего вызывается соответствующая процедура.
5.4. ОРГАНИЗАЦИЯ ОПЕРАТИВНОГО ОТОБРАЖЕНИЯ ИНФОРМАЦИИ
Оперативное взаимодействие пользователя с ЭВМ предусматривает, в частности, вывод информации в ре альном масштабе времени в удобной для восприятия графической форме.
Выводимая на экран информация отражает состояние модели объекта и ее характеристики (изображения объ екта или его частей, числовые значения параметров), состояние процесса автоматизированного проектирования (ход вычислений, возможные альтернативы управления, вводимые с пульта символы и т. п.).
ю* |
147 |
Источниками этой информации являются соответст
венно модель объекта |
(через |
программы просмотра и |
||
выделения информации |
п расчетные |
проблемные |
про |
|
граммы) и программа-монитор. |
|
|
|
|
Независимое отображение этих компонент на экране |
||||
УО достигается за счет |
постоя иного |
функционального |
||
распределения областей экрана |
н согласования во |
вре |
мени процессов вывода информации от различных источ ников. Обычно центральную часть экрана выделяют для
отображения модели объекта, |
а на краях располагают |
|
области сообщений, ввода и световых кнопок [10]. |
||
Изображение строится на экране УО при выполнении |
||
программы графического процессора |
(ГП) — массива |
|
команд отображения (МКО). |
Состав |
системы команд |
отображения определяется набором геометрических об разов, которые реализует аппаратура УО. Существенным является требование функциональной полноты системы команд, т. е. возможности генерирования с их помощью любого изображения. Простыми полными системами ко манд являются, например, системы с единственной графи ческой командой «Чертить точку» («ТЧК») или «Чертить отрезок прямой» («ПР»), Структура команд и программ ГП для этих случаев приведена на рис. 5.7. Операнды команд содержат значения кода яркости В и координат X, Y точек (концов отрезка). Для регенерации изображения используется команда перехода ПОВТ. Использование примитивных графических команд требу ет программной интерполяции (точечной пли кусочно-ли нейной) сложных контуров [11]. Избыточность при та ком способе кодирования изображения приводит к боль шому расходу памяти для хранения МКО. Аппаратурная реализация более сложных геометрических образов — дуг окружностей, букв, цифр и специальных символов — позволяет снизить избыточность при кодировании и советственно уменьшить требуемый объем памяти для хранения МКО, а также увеличить объем информации, отображаемой за период регенерации.
Значительные возможности для редактирования изоб ражения дают команды относительного перемещения лу ча, а также графические подпрограммы и команды пере ходов в МКО [12]. Структура МКО с использованием таких команд показана на рис. 5.8. Команда с мнемони ческим кодом операции ТЧК вызывает перемещение луча
148
в точку экрана с абсолютными координатами X, Y. Ко манда ПР управляет вычерчиванием отрезка прямой из точки Х\, Y{, определяемой положением луча, в которое его вывела предыдущая команда, в точку с координатами Х;+ДК, У,- + ДУ. Операнд В содержит информацию о яр кости луча. Кроме графических команд, используются команды управления, изменяющие порядок выполнения программы ГП. Команда И вызывает безусловный пере ход по адресу А. Команда ИП передает управление под программе с адреса А с запоминанием точки, откуда было передано управление. Для продолжения вызывающей
|
|
а |
|
тчк |
в |
X |
У |
S
П Р |
в |
X I |
XУZ1 |
п |
-э-П Р |
В ; |
XII; |
У11; |
Х 21; |
У21 |
ПР |
В; |
Х12; |
У12; |
Х22, |
У22 |
ПР В, |
Х1я; У 1л; Х 2п\ |
У2л |
— повт
Рис. 5.7. Пример использования минимального набора команд ото бражения
149
программы с этой точки в конце подпрограммы записыва ется команда ВОЗВР. Команда ПОВТ используется для регенерации. Изменение координат точки в команде 100) приводит к сдвигу части изображения — квадрата, кото рый описан подпрограммой, содержащей команды отно сительного перемещения луча. Обход команды обраще ния к подпрограмме 103) с помощью команды безуслов ного перехода 102) позволяет стереть изображение треугольника (рис. 5.8, в).
Рассмотрим принципы отображения информации о модели.
В ОГС индикатор является окном, через которое пользователь видит изменение проектируемого объекта. Он может по желанию указывать системе ту часть объ екта, которая его интересует, выбрать проекцию, мас штаб, точку зрения на объект.
При наличии в ОГС двух уровней представления информации о проектируемом объекте — структуры дан ных модели (см. главу 1) и массива команд отображе ния— большое значение для характеристик системы имеют принципы преобразования информации при вы воде.
Такое преобразование может иметь вид компиляции модели в МКО. Программы просмотра и выделения ис пользуются при этом для сканирования структуры дан ных. Полученная геометрическая информация преобра зуется с учетом заданного пользователем поворота, пе реноса и масштабирования программами трансформации. На следующем этапе выделяется часть изображения, ле жащая внутри границ экрана или его чертежной поверх ности, и удаляются невидимые линии. Программы-гене раторы кодов ГП используются для получения результи рующего массива команд отображения.
Существуют ОГС [13, 14], в которых трансформация изображения выполняется специализированными аппа ратурными блоками, использующими простоту и однотип ность матричных операций. В таких системах использу ется метод непосредственной интерпретации структуры данных, хранимой в памяти ЭВМ. При этом ГП в каж дом цикле регенерации сканирует модель и прямо интер претирует содержащуюся в ней графическую информа цию (геометрические величины, дополнительную тек стовую и размерную информацию н т. п.) с учетом
150
100) |
ТЧК 250; 750 |
|
-Подпрограмма «квадрат» |
||||||
|
200) |
|
ПР |
50; |
0 |
|
|||
101) |
ИП |
200------------ |
|
|
|
||||
|
201) |
|
ПР |
0; |
50 |
250,75□ С |
|||
102) |
ТЧК 250; 2 5 0 ^ |
|
|
||||||
|
202) |
|
ПР — 50; |
0 |
|||||
|
|
|
|
|
|||||
|
|
|
|
203) |
|
ПР |
0; —50 |
||
103) |
ИП |
300 — |
— 204) |
|
ВОЗВР |
|
|
||
|
|
|
|
|
|
|
|||
104) |
ТЧК 750; 250 |
|
Подпрограмма треугольник» |
||||||
105) |
ИП |
300---- |
|
300) |
ПР |
50 |
|
|
|
106) ПОВТ—« — |
|
301) ПР —50 |
|
|
|||||
|
|
|
|
302) |
ПР |
0 |
|
|
|
|
|
|
|
.303) |
ВОЗВР |
250,250 750,250 |
|||
|
|
|
|
в |
|
|
|
|
|
■^100) |
ТЧК |
500; 750 |
I*—Подпрограмма «квадрат» |
||||||
|
200) ПР |
50; |
0 |
|
|||||
101) |
ИП |
200 --------------- |
201) |
ПР |
0; |
50 |
|
||
—102) |
И |
104-е----------1 |
902) |
ПР |
—50; |
0 |
|
||
103) |
ИП |
300 |
|
203) ПР |
0; |
— 50 |
&------ |
||
И 04) |
ТЧК |
750; 250 |
1------204) |
ВОЗВР |
|
|
500,750 |
||
|
|
|
-=>- Подпрограмма «треугольник» |
||||||
105) |
ИП |
300— |
|
300) |
ПР |
50; |
0 |
|
|
|
301) |
ПР |
—50; |
50 |
|
||||
|
|
|
|
|
|||||
106) |
ПОВТ -е -------------------- |
302) |
ПР |
0; —50 |
|
||||
303) |
ВОЗВР |
|
|
750,250 * |
|||||
|
|
|
|
|
|
|
|
|
Рис. 5.8. Пример программы ГП с использованием расширенного набора команд
установленных пользователем н управляющими програм
мами |
параметров |
трансформации. |
Блоки |
графической |
|||||||
информации |
в |
структуре |
данных |
связаны |
между |
||||||
собой |
|
командами |
перехода, |
так |
что при сканирова |
||||||
нии ГП |
выполняет |
непрерывную |
последовательность |
||||||||
команд |
отображения. |
Если |
очередной |
выбранный |
|||||||
процессором |
элемент |
данных |
несет |
информацию |
|||||||
негеометрического |
характера, |
происходит |
прерывание |
||||||||
на |
уровень |
|
графического |
|
супервизора, |
который |
|||||
интерпретирует |
эту |
информацию и производит ариф |
|||||||||
метические или логические |
операции, реализует перехо |
ды по условию, циклы и другие негеометрические дейст вия. Это позволяет учитывать в качестве параметров графических подпрограмм содержимое вводных регист ров пульта, выполнять непрерывное вращение изображе ния и т. п. [15].
5.5. ОРГАНИЗАЦИЯ ОПЕРАТИВНОГО ВВОДА ИНФОРМАЦИИ
Ввод графической информации. Характерным для че ловеко-машинных систем является полуавтоматический принцип ввода графической информации, при котором пользователь системы визуально оценивает и контроли рует вводимые данные, вводит дополнительную сопро вождающую информацию (о типе элемента, операции над ним и т. п.). Такой принцип исключает необходимость в программном распознавании образов, присущую автома тическим средствам ввода, позволяет за счет оперативно го отображения вводимой информации и контроля опе ратора корректировать ошибки кодирования на началь ном этапе.
В ОГС вводимые данные используются в качестве параметров графических и вычислительных процедур и могут служить для указания на элемент изображения в процедурах геометрических и структурных преобразова ний (повернуть элемент, стереть элемент и т. п.), задания координат точки, которые могут интерпретироваться как в геометрическом смысле, так и задавать абстрактные числовые параметры [16].
Задача указания на элемент состоит в определении соответствующего ему блока в модели объекта. При этом, кроме графической, необходима дополнительная
152
информация об уровне иерархии, которому принадле жит элемент. Так, например, точка изображения может задавать различные элементы, частью которых она является: прямую, резистор R, цепь RC, усилительный каскад.
В качестве информации, указывающей на элемент, устройство ввода графической информации (УВГИ) может передавать адрес команды ГП, вызывающей его отображение. Для установления соответствия между элементами нижнего уровня модели («прямые», «дуги», «точки»,...) и командами отображения используют табли цу связи (ТС) со строками вида «адрес команды отобра жения— адрес элемента модели», которая вырабаты вается при компиляции модели одновременно с МКО. Переход к элементу необходимого уровня осущест вляется за счет ассоциативных связей элементов. В си стемах с интерпретацией модели графическим процессо ром адрес указанного с помощью УВГИ элемента опре деляется непосредственно в процессоре.
Элемент может быть задан координатами принадле жащей ему точки. Обычно при этом используется яркост ная отметка — маркер, которую пользователь визуально совмещает с нужной точкой изображения. УВГИ пере дает программе координаты маркера (Хм, Уы). Для на хождения указанного маркером элемента необходим сплошной программный перебор координат точек (Xi, У,), принадлежащих изображению, и проверка их совпа дения с координатами маркера:
(|Xt- X M| < 8)A (| У; - У м | < е ) ,
учитывающая погрешность е совмещения маркера с изо бражением.
Задача ввода координат произвольной точки экрана может решаться с помощью УВГИ, использующих прин цип временного совпадения, что требует значительных аппаратурных или программных затрат на слежение за световым пером пли вывод растра. Целесообразнее определять координаты точки за счет подвода к ней автономно упра!Вляемого маркера. Возникающая при этом возможность программной реализации некоторых функций ввода позволяет упростить и удешевить аппа ратуру УВГИ без существенного снижения характери стик ОГС.
153
В качестве примера рассмотрим программно-аппара
турный |
способ ввода |
координат, |
применяемый в |
|||
системе |
[9] |
(рис. 5.9). |
При отклонении ручки мпогопо- |
|||
змционного |
ключа |
код |
направления КОДНАПР запо |
|||
минается в буферном |
регистре РКП. |
Таймер вызывает |
||||
периодические обращения |
к программе продвижения |
|||||
маркера |
(рис. 5.10), |
которая вводит код направления и |
в зависимости от его значения корректирует содержимое ячеек текущих координат маркера (A, Y) . В соответст вии с этими координатами программа модификации мас-
Сигнал „Конец подвода“
Рис. 5.9. Схема программно аппаратурного способа пиода координат
154