Файл: Оперативные графические системы в автоматизации проектирования..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