Скачиваний:
67
Добавлен:
16.04.2013
Размер:
3.38 Mб
Скачать

Структура графического изображения

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

Примитивы – это графические примитивы (точка, вектор, дуга) и литеры.

Все примитивы связаны между собой структурой ГИ и ориентированы в двух- или трехмерном пространстве. Указанные примитивы универсальны и не зависят от конкретной прикладной задачи. Каждый примитив может генерироваться аппаратными или программными средствами.

Координаты примитивов задаются в единицах дисплейного растра (для растровых дисплеев) или в непрерывных координатах (для векторных дисплеев).

Точка – задается парой (тройкой) координат. При выводе точки на экран ГД необходимо выполнить последовательность команд:

- определить координаты xi, yi,

- преобразовать координаты в управляющие сигналы,

- выработать яркость точки,

- задать команду на регенерацию точки.

Вектор (отрезок прямой) – задается двумя (тремя) парами координат. При выводе отрезка на экран ГД необходимо выполнить последовательность команд:

- определить координаты начальной точки xo, yo;

- определить координаты конечной точки в приращениях (x y);

- задать тип и цвет линии;

- выдать команду уровня засветки линии;

- регенерировать линию с заданной частотой.

Дуга – задается тремя парами координат (две точки и радиус).

Литера – определяется своим кодом и точкой привязки ее к ГИ. Для генерации литер используются или специальные аппаратные средства, или они строятся программно.

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

Атрибутами ГИ являются:

- цвет (вся палитра цветов и их оттенков);

- яркость (пусто, малая, средняя, высокая);

- толщина и тип линии (сплошная, пунктирная, ….).

Статус ГИ (или его части) позволяет (или не позволяет) модифицировать изображение или его часть. Например, условное изображение символа компонента на электрической схеме поворачивать нельзя, а условное изображение компонента на ПП поворачивать можно и т.д.

Графическое изображение разбивается на три иерархических уровня:

- на нижнем уровне расположены примитивы (их набор определяется применяемой графической системой CORE, GKS и пр.). Состав примитивов: графические примитивы и литеры. Код графического примитива является фактически адресом команд, которые воспроизводят эти примитивы на экране.

Структура данных примитива имеет следующий вид:

CP

X0

Y0

CLR

------

CP - код примитива, X0 Y0 координаты точки привязки примитива, CLRцвет примитива, и т.п.

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

Рис. Структура графического изображения

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

Формирование сегмента влечет за собой образование локальной системы координат, в которой и определяются все параметры сегмента.

Координаты точки привязки (X1 Y1) сегмента S1определяются от начальной точки базовой системы координат (X0 Y0).

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

Структура данных сегмента имеет следующий вид:

NS

X0

Y0

Mx

My

ANG

FLG

P1

P4

Pk

Pn

---

NS – имя сегмента, X0 Y0 – координаты точки привязки, Mx My - масштабные коэффициенты по соответствующим осям, ANGугол поворота сегмента, FLGпараметры текстовых сегментов, Р1, Р4, Рк – коды (имена) примитивов, составляющих сегмент.

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

Структура данных изображения

BKGR

NI

Mx

My

ANG

NS1

NS4

NSk

---

BKGR - цвет фона экрана, NIимя изображения, Mx Myмасштабные коэффициенты по соответствующим осям, ANGугол поворота изображения, NS1, NS4 , NSk - имена сегментов, составляющих изображение.