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

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

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

Растровый файл описывает изображение как совокупность точек (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 определено шесть основных примитивов вы­вода: полимаркер, полилиния, текст, заполнение области, массив пикселей, обобщенный примитив вывода.

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

Графические стандарты Подпись: Полилиния (PolyLine) Подпись: Текст (Text)
Графические стандарты
Графические стандарты
Графические стандарты

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

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

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

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

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

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

Примитив

Атрибуты

Полимаркер

Полилиния

Текст

Заполнение области Массив пикселей

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

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

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

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

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

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

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

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

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

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