Стандарт GKS
ISO - международная организация стандартизации. Первым стандартом ISO на графический API стал стандарт GKS (ISO IS 7942-Graphical Kernel System). GKS - cтандарт двумерного графического интерфейса, который использует неиерархический нередактируемый формат описания изображений. Изображения строятся путем непосредственного вызова функций графической системы. Каждому примитиву соответствует своя функция. Несколько примитивов вывода могут быть объединены в сегмент, которому присваивается уникальный идентификатор. Сегменты размещаются в общей памяти для повторного использования. Изменять содержимое сегментов не допускается. Cпециальные функции позволяют осуществлять перенос, масштабирование, поворот и другие операции над сегментами. Геометрическая информация подвергается преобразованиям, которые связывают три системы координат: мировые координаты, нормированные координаты (NDC) и координаты устройства. Стандарт поддерживает несколько классов логических устройств ввода: ввод координат (позиции), ввод последовательности позиций, выбор альтернативы, указание объекта, ввод строки и ввод числа. Каждое логическое устройство ввода может работать в режимах: запрос, опрос, событие. В качестве примера реализации можно привести библиотеку SunGKS. Дальнейшее развитие стандарт GKS получил в стандарте GKS- 3D (ISO IS 8805 - Graphical Kernel System for tree dimensions). GKS-3D - стандарт трехмерного графического интерфейса, который использует все возможности стандарта GKS и содержит некоторые дополнительные функции для работы с трехмерной графикой. GKS-3D поддерживает трехмерные примитивы, трехмерный ввод, трехмерные сегменты и обеспечивает работу со скрытыми линиями и поверхностями. Стандарт обеспечивает трансформацию трехмерных мировых координат в координаты двумерного устройства отображения. Цепочка преобразований связывает четыре системы координат: мировые координаты, нормированные координаты (NDC-3), нормированные координаты проекции (NPC) и координаты устройства. Основные понятия GKS Изображение –совокупность графических объектов, одновременно выведенных на поверхность визуализации. Графический примитив - базовый элемент который может быть использован для построения изображения. В соответствии с GKS графические примитивы: точка, линия, ломаная линия, выделенная область на плоскости (закраска), символы. Существует два типа графического представления: векторныеи растровые, которые определяются типами технических графических устройств. В векторных устройствахизображение интерпретируется последовательным нанесением (рисованием) примитивов, а закрашивание производится штриховкой. В растровых устройствахизображение - совокупность пикселей, каждый из которых может находится в различных состояниях (по цвету и по яркости). В случае векторного представления изображение естественным образом строится в виде некоторого дерева: Такая структура находит отражение в структурах баз данных или в структуре графической программы. Элементом (символом) является самостоятельно идентифицируемая часть изображения. Перечисленные примитивы характеризуются статусом, определяющим круг действий над примитивом. Различают статистические и динамические примитивы. Динамические примитивы находятся в движении, а статические в покое. Область - группа примыкающих друг к другу связных пикселей. Её можно определить двумя способами: 1) присвоение одинаковых значений всем пикселям, принадлежащие областям (внутренне определенные область); 2) присвоение одинаковых значений всем пикселям, не принадлежащие области – гранично-определённая область. Рассмотрим теперь растровую графику. В ней основной примитив - пиксель (pixel). Группа примыкающих друг к другу связанных пикселей называется областью. Область можно определять двумя способами: присвоением одинаковых значений всем пикселям, принадлежащих области или одинаковым определением пикселей, окружающих область. Соответственно области называются внутренне определенными или гранично определенными. В современных ГС возможен автоматический переход от одной формы к другой, т.к. векторный способ более экономичен с точки зрения хранения в памяти.
|