Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Оперативные графические системы в автоматизации проектирования

..pdf
Скачиваний:
4
Добавлен:
19.10.2023
Размер:
6.87 Mб
Скачать

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

В качестве примера рассмотрим способ построения массива команд отображения электронной схемы с по­

мощью древовидной структуры

п преобразование этой

структуры

[15].

многозвенного

RC

фильтра

Для

отображения

(рис. 6.30, а) выделим одно звено п определим

все его

элементы

(рис. 6.30,6).

Массив

команд

отображения

одного звена можно организовать в виде дерева, приве­ денного на рис. 6.30,s. Тогда для начертания 3-звеиного фильтра можно три раза использовать определение од­ ного звена с различными начальными точками вычерчи­ вания. Древовидная структура, определяющая RC фильтр, может быть представлена в памяти так, как это показано на рис. 6.31. Такое представление позволяет эффективно производить различные манипуляции с изо­ бражением. Так, для вычерчивания фильтра в другом месте экрана достаточно изменить координаты начальной точки только в первой команде массива. В том случае, если необходимо производить манипуляции в одном зве­ не фильтра (стирание, изменение размеров и типа эле­ ментов и т. д.), не изменяя других звеньев, требуется раз­ множить массив команд отображения звена фильтра.

Возможность введения новых уровней в древовидную структуру путем размножения существующих массивов или создания новых и объединения их с уже имеющимися позволяет получать древовидные структуры для пред­ ставления сложных графических изображений.

Определение иерархической структуры. Иерархиче­ ская организация данных является многоуровневой структурой, построенной с помощью списков. В такой структуре от элементов списка может быть сделан пере­ ход к любым другим логически связанным элементам, которые в свою очередь объединены в список и связаны с родственными элементами другого списка и т. д.

Иерархическая структура может быть описана с по­ мощью направленного конечного графа, содержащего

200

 

Вывести луч в точку

-

-

-

-

-

-

-

-

-

 

-

 

 

 

 

 

 

 

—Переход к начертанию—

 

 

—Команды вычерчивания—

/

 

 

 

 

 

R

 

 

 

R

 

 

 

 

 

 

 

 

 

 

 

Переход к начертанию

 

 

 

—Переход к начертанию—

 

 

—Команды вычерчивания—

 

звена фильтра

 

 

 

 

 

 

 

 

 

 

 

С

 

 

 

 

 

 

I

 

 

 

 

i

 

С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывести луч в точку

 

1

 

Переход к начертанию—

1

1

—Команды вычерчивания—

2

 

1

 

 

прямой

 

 

 

i

 

 

 

прямой

 

 

'

т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Переход к начертанию

I T -- -

 

1

 

Возврат

по адресу

 

 

i

L

 

 

звена фильтра

 

 

 

 

 

 

 

 

 

 

 

команды

перехода

 

 

 

 

 

 

 

 

 

 

!

 

г

 

 

 

 

 

 

 

 

 

Вывести луч в точку

~3

_Переход к начертанию звена фильтра

__Переход для повтор­ ного вычерчивания

изображения

Рис. 6.31. Представление в памяти древовидной структуры схемы фильтра

контуры. Это позволяет осуществить переход от любой вершины структуры к вершинам верхнего, нижнего плп данного уровнен. Следовательно, на данную верилту может указывать более чем одна вершина, а также су­ ществует путь, который начинается отданной вершины н возвращается к ней.

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

Иерархическая организация данных отражает нали­ чие сложных ассоциативных связей, присутствующих в реальном объекте, позволяет уменьшить время реакции системы при модификации структуры, дает возможность использовать при создании и изменении модели объекта удобные для человека средства взаимодействия с ЭВМ, такие, как световое перо, планшеты ввода и др.

Рассмотрим возможную структуру для представления треугольника (рис. 6.32, а). Структура, изображенная на рис. 6.32,6, образуется из элементов, которые можно разделить на понятия классов (треугольники, прямые, точки и т. д.) и собственно элементов, являющихся чле­ нами данного класса (треугольник Т\, прямые Пр 1, Пр2, ПрЗ, точки А, В, С).

Элементы, составляющие данный класс, объединяют­ ся в список, причем каждый элемент может быть связан как с элементами, определяющими его и расположенны­ ми на более низком уровне, так и с элементами, которые он сам определяет, находящимися выше данного элемен­ та в структуре. Так, прямая связана с точками, которые составляют начало и конец ее, п треугольником, в состав которого входит данная прямая. Аналогично точка сое­ динена в структуре со всеми прямыми, исходящими пз данной точки.

Для более эффективной обработки рассмотренной структуры целесообразнее несколько видоизменить ее. Объединим в список элементы, образующие классы, а все списки структуры преобразуем в кольца, включив в элементы дополнительные связи. На рис. 6.33 представ­ лена полученная структура, описанная направленным графом.

202

ва

Рис. 6.32. Пример иерархической структуры: а — чертеж треугольни­ ка; б — представление иерархической структуры изображения тре­

угольника

Рис. 6.33, Граф иерархической структуры

В построенной структуре можно выделить три основ­ ных типа колец: кольца элементов, составляющих поня­ тия классов, характеризующих модель; кольца элемен­ тов, являющихся членами данного класса и обладающих одинаковыми свойствами; кольца логически связанных элементов (отмечены пунктиром на рнс. 6.33).

Введение в структуру колец хотя и увеличивает рас­ ход памяти для хранения структуры по сравнению с дре-

АВреса связи

Рис. 6.34. Блок вершимы иерархическом

Информация структуры

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

Представление иерархической структуры в памяти. Вершины графа, отражающие элементы иерархической структуры, могут представляться в памяти в виде До­ словных блоков с полями, в которых содержится инфор­ мация и адреса связи, указывающие на другие блоки (рис. 6.34). В представленной на рис. 6.32, б структуре связи между элементами одного класса, а также элемен­ тами данного уровня н элементами более низкого (связь «вниз») и более высокого уровней (связь «вверх») вы­ полняются по-разному. Так как прямая всегда содержит только две точки, связь «вниз» может быть достаточно просто отражена с помощью 2-словиого блока, в котором размещаются адреса связи, указывающие на блоки то­ чек (рис. 6.35, а). Однако точка может принадлежать более чем одной прямой, например точка А на рис. 6.32, а, поэтому связь «вверх» должна быть выполнена в виде списка блоков (рис. 6.35,6).

204

Использование иерархических структур в оператив­ ных графических системах. Иерархические структуры об­ ладают универсальностью и гибкостью, позволяют хра­ нить большое количество данных и отражать сложные взаимоотношения между ними. Они способны быстро реагировать на все изменения, вносимые в структуру, наиболее полно удовлетворяют требованиям, предъявляе­ мым к структуре, отображающей математическую мо­ дель объекта, в оперативных графических системах.

А

В

6

Рис. 6.35. Организация связи между элементами иерархической струк­ туры: а, б — связь «вниз» и «вверх»

За последнее десятилетие разработано большое число программных пакетов для создания и модификации структур данных. С их помощью можно достаточно эф­ фективно организовать списочные структуры, обладаю­ щие большой сложностью [16—24].

В качестве примера рассмотрим применение двух та­ ких пакетов: AED (Algol Extended for Design) и ASP (Associative Structure Package) для создания матема­ тической модели электронной схемы. Полученная при этом структура является достаточно полной и содержит в своем составе все необходимые признаки для про­ грамм анализа электронных схем.

Комплекс программ, написанный на языке AED, по­ зволяет пнженеру-проектировщпку в оперативном режи­

205

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

Для связи оператора с системой могут использоваться два типа устройств ввода графической информации — ручка управления п так называемая «мышь», управляю­ щие положением светового маркера на экране. Для вво­ да символьной информации используются «световые кнопки», играющие роль функциональных клавиш, и алфавитно-цифровая клавиатура.

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

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

Данные, описывающие каждый узел, имеют следую­ щий вид:

1.Обозначение.

2.Значение координат X, У узла.

3.Число элементов, присоединенных к данному узлу. Помимо этой информации, с узлом связывается также

структурная информация, указывающая, какие элемен­ ты подсоединены к узлу.

Данные, описывающие элементы (резисторы и кон­ денсаторы), имеют вид:

1.Числовое значение сопротивления или емкости.

2.Обозначения, присваиваемые элементу (например,

R \ ,

С 3 ) .

Структурная информация определяет два узла, к ко­ торым подсоединен элемент. Для элемента, представляю­ щего проводник, хранится только структурная информа­ ция, указывающая два узла, между которыми располо­ жен проводник.

206

Модель схемы строится с помощью блоков, представ­ ляющих компоненты схемы (узлы и элементы). Каждый блок состоит из нескольких последовательно располо­ женных слов, в которых размещаются все необходимые данные и адреса связи. В качестве примера на рис. 6.36 приведен формат блоков. В структуре используются три

типа блоков.

представляющие узлы и содержащие общее

1.

Блоки,

для всех блоков структуры поле ТИП. В нем хранятся

Тип=0

 

Тип-- 3

Число элементов

 

Первый

узел

Следующий узел

 

Второй

узел

Имя

3.

Блок проводника

Верхний

элемент

 

(Г-3)

 

 

 

Левый элемент

2. Блок резистора (Т = 1)

 

 

 

 

Блок конденсатора

 

 

Правый

элемент

( Т = 2)

 

 

Нижний элемент

 

 

 

X

 

 

 

 

Y

 

Рис. 6.36. Структура

блоков AED

 

 

I . Блок узла

 

 

 

код, определяющий тип компонента, описываемого дан­

ным блоком; адрес связи, указывающий

на следующий

блок узла в списке узлов (поле СЛЕДУЮЩИЙ УЗЕЛ); адреса связи, указывающие на подсоединенные к данно­ му узлу элементы, которые расположены выше, левее, правее и ниже узла.

2. Блоки, представляющие элементы (резисторы и конденсаторы) и содержащие числовое значение элемен­ та (поле ВЕЛИЧИНА); адрес связи, определяющий це­ почку символов, которые представляют обозначение дан­ ного элемента (поле ИМЯ); адреса связи, указывающие на два узла, между которыми расположен элемент.

207

3. Блоки, представляющие проводники, содержат ад­ реса связи, определяющие два узла, которые связаны проводником.

Создаваемая в процессе построения схемы структура данных является не только источником информации для вычислительных и оптимизирующих программ анализа схем, но также отражает в себе все изменения, произво­ димые над графическим изображением. Рассмотрим по­ строение и модификацию структуры при вычерчивании и редактировании изображения схемы.

Перед началом вычерчивания схемы программа

по­

строения и модификации структуры (ПГ1МС)

выполняет

следующие действия:

 

 

 

1. Из области свободных блоков выбирается блок раз­

мером в

10 слов. В этом блоке записывается

тип Т = 0,

который

указывает, что

блок описывает узел.

 

2. В блок записываются координаты X, Y,

получае­

мые от устройства ввода

графической информации

н

определяющие положение узла на экране.

 

 

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

1.Из области свободных блоков выбирается блок эле­ мента, в котором будет храниться вся информация об эле­ менте. В поле ТИП блока записывается тип элемента.

2.В структуре ищется блок узла, к которому следует присоединить данный элемент.

3.Производится включение элемента:

вблоке узла величина, находящаяся в поле ЧИСЛО ЭЛЕМЕНТОВ, увеличивается на единицу; в одно из по­ лей, содержащих адреса связи, записывается адрес, ука­

зывающий на блок элемента; в блоке элемента в поле ПЕРВЫЙ УЗЕЛ помещается

адрес, определяющий блок узла.

4. Определяется, есть ли в структуре второй узел, к которому должен быть присоединен элемент. Если нет, необходимо включить в структуру блок нового узла п за­ тем проделать те же операции по присоединению элемен­ та к этому узлу. Структура данных, отражающая связь, резистора R \ с двумя узлами 1 и 2, приведена на рис. 6.37.

При стирании элемента, положение которого указы­ вается световым маркером, ППМС выполняет следую­ щее:

208

1) проводит поиск блока элемента, соответствующего указанному элементу;

2) изменяет адреса связи в блоках узлов, к которым присоединен исключаемый элемент; уменьшает па едини­ цу величину, записанную в поле ЧИСЛО ЭЛЕМЕНТОВ; если эта величина окажется равной 0, т. е. к данному узлу не присоединено ни одного элемента, блок узла исключается из структуры;

3) включает освободившиеся блоки в список свобод­ ных блоков для их дальнейшего использования.

Рис. 6.37. Фрагмент структуры данных для записи изображения ре­ зистора Ri

После всех преобразований в структуре с экрана сти­ рается элемент.

На рис. 6.38, а представлена структура данных, опи­

сывающая часть

электрической схемы

(рис. 6.38, б),

с изображением

основных структурных

связей между

элементами. Так как поиск узлов в структуре осуществ­ ляется довольно часто при выполнении многих операций, полезно объединить в список блоки узлов.

На рис. 6.39, а изображена структура данных, полу­ чающаяся в результате изменений (добавлен резистор Яз между узлами 3 и б).

Более сложным изменениям подвергается структура данных при стирают узла. Эта операция требует исклю­ чения всех элементов, присоединенных к данному узлу, что в свою очередь может потребовать изменения в бло­ ках других узлов, к которым присоединены элементы. На рис. 6.39, б приведена структура данных после удале­ ния узла 6, а на рис. 6.39, в отображен результат после стирания узла 5.

14. Зак. 218.

209

Соседние файлы в папке книги из ГПНТБ