Графические стандарты

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

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

Растровый файл описывает изображение как совокупность точек (dots), число которых определяется разрешением, измеряемым в специальных единицах — dpi или dpc (число точек на 1 дюйм или на 1 см соответствен­но). Для цветных и полутоновых изображений определяется также «глубина цвета» — число двоичных разрядов, отводимых для хранения информации о цвете. Например, для изображений типа RGB глубина 24 разряда означает, что на каждый основной цвет (красный — R, зеленый — G, синий — В) от­водится по 8 разрядов и можно закодировать 224 « 16 млн цветов.

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

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

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

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

BMP-формат реализует растровый способ представления графических данных и поддерживается практически любым Windows-приложением. Его главная особенность — независимость от типа адаптера и монитора при ко­дировании цвета. Для сжатия данных используется алгоритм RLE (Run - Length Encoded), но размер файлов довольно большой.

CGM-формат (Computer Graphics Metafile) относится к классу «ме­тафайлов», т. е. обеспечивает кодирование как векторных, так и растровых изображений. Его основное достоинство — независимость от аппаратных и программных средств, что позволяет эффективно осуществлять обмен дан­ными между различными программами и платформами. Но для хранения чертежей и рисунков этот формат практически не применяется.

DXF-формат (Drawing eXchange Format) является векторным и под­держивается практически всеми САПР и графическими пакетами, включая AutoCAD. В нем реализованы многие возможности, отсутствующие в дру­гих форматах, например хранение трехмерных объектов. Однако из-за сложности этого формата некоторые приложения позволяют только читать DXF-файлы, но не используют его при сохранении изображений.

EPS-формат {Encapsulated PostScript) использует как векторный, так и растровый способы записи графических данных. Соответствующий файл представляет собой набор команд, выполняемых интерпретатором языка PostScript при выводе изображения. При этом EPS-файл не зависит ни от операционной системы, ни от аппаратных средств. Однако программы, под­держивающие этот формат, часто не обеспечивают полной совместимости.

HPGL-формат {Hewlett-Packard Graphical Language) относится к классу векторных и является одним из основных для систем автоматизиро­ванного проектирования. Он широко используется также при выводе черте­жей на плоттеры и принтеры.

IGES-формат {International Graphical Exchange Standard) представля­ет собой набор протоколов для передачи графических данных и вывода их на экран монитора. Первоначально он применялся для поддержки удален­ных терминалов, но в настоящее время используется в ряде CAD-приложе­ний, оперирующих с трехмерными изображениями.

PCX-формат относится к классу растровых. Первоначально он ис­пользовался в программе PaintBrush, но постепенно получил широкое рас-

2 6705
пространение в других графических редакторах. Его недостатком является зависимость от типа используемого видеоадаптера. В PCX-файлах исполь­зуется алгоритм сжатия RLE, позволяющий уменьшать размер файла на 40...70 %, если число цветов не превышает 16.

Графические стандарты

Рис. 1.17. Графические стандарты, используе­мые в САПР

РІСТ-формат относится к классу «метафайл», т. е. дает возможность кодировать как векторные, так и растровые изображения. Он ориентирован на платформы типа Macintosh и поддерживается практически любым графи­ческим приложением, реализованным на таких аппаратных средствах. Вви­ду своей сложности этот формат редко под­держивается приложениями, работающими на других платформах.

TIFF-формат {Tagged Image File Format) относится к классу растровых и по­зволяет обеспечивать переносимость графи­ческих файлов с IBM-совместимых компью­теров на Macintosh и обратно. Существует несколько типов TIFF-файлов: В — черно­белые изображения, G — полутоновые, Р — цветные и т. д. Формат TIFF очень удобен, но приводит к очень большим размерам файлов (например, цветное изображение размера А4 при разрешении 300 dpi может занимать около 40 Мб).

WMF-формат (Windows MetaFile) обеспечивает кодирование как векторных, так и растровых данных и является анало­гом формата PICT для оболочки Windows. Он используется при обмене графическими данными между Windows-приложениями, а также поддерживается графическими про­граммами, реализованными на ряде других платформ.

При организации обмена графической информацией в компьютерной графике раз­личают несколько уровней графических стандартов (рис. 1.17). Эти стандарты обес­печивают связь между:

а) графическими утилитами и устрой­ствами графического вывода;

б) прикладными программами и гра­фическими утилитами;

в) различными САПР.

Для обеспечения связи между графическими утилитами и устройст­вами вывода наиболее часто используется стандарт VDI (Virtual Device Interface — интерфейс виртуального устройства), который в настоящее время переименован в CGI (Computer Graphics Interface — интерфейс ком­пьютерной графики).

Наиболее распространенным стандартом, обеспечивающим связь между прикладными программами и графическими утилитами, является GKS (Graphical Kernel System — графическая корневая система). Иногда используется и более ранний стандарт CORE, основные функции которого реализованы в GKS. А наиболее совершенным из стандартов этого класса является PHIGS (Programmers Hierarchical Interface for Graphics — про­граммистский иерархический графический интерфейс), описывающий сложные иерархические структуры графических данных, в том числе и трехмерные.

Для обеспечения связи между различными САПР используется ряд стандартов, наиболее распространенным из которых является IGES (Initial Graphics Exchange Specification — стандартный протокол обмена графиче­ской информацией). В этом стандарте различные данные классифицируются в терминах суи{ностей, которые могут принадлежать к одной из трех катего­рий: геометрии (точки, отрезки, дуги, плоскости и т. п.), аннотации (размеры, осевые линии, стрелки и т. п.), структуры (геометрические группы, макрооп­ределения и т. д.). Чтобы использовать IGES, любая САПР снабжается двумя программами — препроцессором и постпроцессором (рис. 1.18).

Международный стандарт GKS (Grapfical Kernel System) принят в 1985 г. и предназначен для обеспечения переносимости и совместимости программных средств машинной графики. Согласно этому стандарту, любое изображение должно строиться из типовых базовых элементов — примити­вов вывода (рис. 1.19). В GKS определено шесть основных примитивов вы­вода: полимаркер, полилиния, текст, заполнение области, массив пикселей, обобщенный примитив вывода.

Полимаркер используется для указания характерных точек на экране, которые отображаются в виде ярких точек, крестов, квадратов и т. д. Поли-

S' 'Л

САПР 1

' Постпроцессор^) ^>| 1 ^^Препроцессор

Ґ "х

САПР 2

^

[ База

1 данных )

v J

! IGES!

Ґ База

1 данных )

х» J

Полимаркер

(PolyMarker)

Текст

(Text)

Полилиния

(PolyLine)

X ЖП ► +

Это текст Это текст Это текст

Графические стандарты

Заполнение области (Fill Area)

Массив пикселей (Cell Array)

Обобщенный примитив вывода (Generalised Drawing Primitive)


Графические стандарты

ИТиИ

Рис. 1.19. Основные графические примитивы вывода GKS

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

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

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

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

Таблица 1.1. Атрибуты основных примитивов вывода GKS

Примитив

Атрибуты

Полимаркер Полилиния Текст Заполнение области Массив пикселей

Тип маркера, его цвет и масштаб Тип, цвет и толщина линии Тип шрифта, размеры, цвет и ориентация символов Вид штриховки, цвет Цвет пикселей

Ввод в GKS определяется как связь с одним из пяти допустимых ло­гических устройств ввода:

ЛОКАТОР — выдает положение в глобальной системе координат;

ЗНАЧЕНИЕ — выдает значение числа;

ВЫБОР — выдает целое число, определяющее один из возможных ва­риантов ответа;

УКАЗАНИЕ — выдает имя сегмента и идентификатор примитива;

СТРОКА — обеспечивает ввод строки символов.

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

Появление GKS в качестве первого международного стандарта оказа­ло существенное влияние на развитие машинной графики и ее применение в САПР.

Комментарии закрыты.