Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Федорков Е.Д., Кольцов А.С. Геометрическое моделирование.doc
Скачиваний:
171
Добавлен:
02.05.2014
Размер:
2.73 Mб
Скачать

15.1. Графические системы класса 2d

GKS- стандартISOна базисную графическую систему. Впервые опубликован в 1982 году. Принят в качестве международного стандарта в 1985 году. Разработаны спецификацииGKSдля языков С,Fortran,Pascal,Ada. В соответствии или с учетом стандартаGKSразработано большое количество графических систем, напримерGKS-3DиPHIGS.

- Функции управления обеспечивают работу с несколькими логическими рабочими станциями ввода/вывода. Одной из категорий рабочих станций является метафайл. Поддерживается таблица состояния системы, а также таблицы конфигурации и состояния рабочих станций. Имеется более 100 функций опроса возможностей и текущего состояния системы.

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

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

- Растровые функции отсутствуют. Используемая цветовая модель - индексированная таблица RGB(Red-Green-Blue).

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

MGKSилиMiniGKS- сокращенные вариантыGKSбез сегментации и с минимальным количеством функций опроса. Эти проекты прошли мимо внимания разработчиков стандартов, но были поддержаны многими разработчиками конкретных графических систем.

GKS-NилиNewGKS– проект, обсуждавшийся вISO(1989 год), направлен на улучшение функциональных характеристикGKS. Заметно явное влияние проектаCGI. Последующих публикаций не было.

PostScript(AdobeSystems, 1985) - язык описания страниц для растровых печатающих устройств. Отличительная особенность - широкие изобразительные возможности при минимальном наборе графических функций. Множество графических систем и настольных издательских систем поддерживаютPostScript. Некоторые производители лазерных принтеров обеспечивают его аппаратную поддержку.PostScriptиспользован для выполнения графических функций в многооконных системахNeWSиDisplayPostScript. Привлекательные свойства этого языка способствовали появлению его трехмерных расширений.

Широкие изобразительные возможности языка PostScriptобеспечены понятием траектории (path), которая может быть составлена из линий, дуг, сегментов кривой Безье и текстовых символов. В процессе вывода траектории могут подвергаться произвольным линейным преобразованиям. Замкнутые траектории могут быть закрашены, заполнены растровым образцом (pixmap) или заштрихованы другими траекториями. Заполнение может производится по различным правилам (even-ocbl,nonzero-winding-number). Линии могут быть различного типа, переменной толщины и иметь скругления в точках соединения. Работа с текстами происходит на основе богатой библиотеки шрифтов. Поддерживает несколько цветовых моделей -RGB,CMY(CyanMagenta-Yellow) иHSV(Hue-Saturation-Value).

CGI- проект стандарта (ISO, 1986) на интерфейс виртуального устройства. На стадии обсуждения этот проект фигурировал в публикациях под названиемVDl.CGIориентирован не на прикладных, а на системных программистов, занимающихся разработкой графических систем. Функциональные возможностиCGIсформированы с учетом разработанных ранее проектовGKSиCGM(ComputerGraphicsMetafile). Заметно влияние проектовPostScriptиXWindowSystem.

Функции вывода поддерживают работу с линиями, многоугольниками, прямоугольниками, маркерами, текстами, дугами, секторами и сегментами круга и эллипса, а также замкнутыми фигурами, составленными из этих примитивов. Замкнутые объекты могут закрашиваться, заштриховываться или заполняться растровым образцом. Набор атрибутов CGIаналогичен набору атрибутовGKS. Конвейер преобразования ограничен преобразованием рабочей станции.

- Функции сегментации аналогичны имеющимся в GKS.

- Растровые функции поддерживают работу с отображаемыми и виртуальными битовыми картами. Первые являются частью видеопамяти устройства. Вторые могут быть полноцветными или двухцветными матрицами пикселов в неотображаемой памяти. Двухцветные виртуальные битовые карты могут служить в качестве маски для операции заполнения областей, а также для задания символов, маркеров, курсоров и пр. Атрибутами карт являются прозрачность, основной и фоновый цвет. Введены различные режимы наложения цветов при выводе пикселов (and,or,xor, ...).

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

XWindowSystem- многооконная графическая система, разработанная в Массачусетском Технологическом институте. Первые публикации появились в 1986 году. Одна из основных целей разработки - обеспечение сетевой прозрачности и возможности использования широкого спектра цветных и монохромных графических станций.

- Система разделена на две части – клиент и сервер, взаимодействующие с помощью X-протокола. Прикладному программисту предоставлена библиотека базисных функцийXLibи надстроенная над ней библиотека инструментальных средствXToolkit. Функции управления обеспечивают возможность манипулирования системой окон и контроля за действиями пользователя. Параметры графических функций включают в себя идентификаторы дисплея и окна, а также графический контекст, содержащий значения атрибутов и другие параметры отображения.

- Функции вывода обеспечивают изображение точек, линий, дуг, окружностей, прямоугольников, а также заполнение многоугольников, секторов, сегментов и прямоугольников. Аналогично языку PostScriptимеются атрибуты, определяющие способ скругления ломаных линий и правило заполнения. Функции вывода текстов поддерживаются богатой библиотекой шрифтов. Конвейер преобразования координат отсутствует.

- Структуризация, или сегментация, данных не поддерживается.

- Растровые функции обеспечивают широкие возможности для манипулирования с битовыми и пиксельными матрицами (Bitmap,Pixmap). Кроме того, пиксельные матрицы могут использоваться в качестве образца заполнения, а битовые - в качестве маски отсечения. Используемая цветовая модель -RGB.

- Функции ввода на базисном уровне обеспечивают развитый механизм обработки событий, от мыши и клавиатуры. Функции более высокого уровня (XToolkitи библиотека виджетов) обеспечивают работу с меню, диалоговыми панелями, полосами просмотра и пр.

MicrosoftWindows- многооконная надстройка над операционной системойMSDOSнаIBMPC. ВерсияWindowsNTтрансформировалась в полноценную операционную систему. Обеспечивает многозадачный режим. Графические функции системы аналогичны имеющимся вXWindow, однако в параметрах функций нет идентификатора дисплея. Поддерживается метафайл.

NeWs(SunMicrosystems, 1987) иDisplayPostscript(AdobeSystems, 1990) -многооконные графические системы, в основе которых лежитPostScript. Обладают эффективными графическими возможностями, унаследованными от языкаPostScript. В системеNeWSпоявились 3D траектории.