GKS

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

GKS (Graphical Kernel System) - графическая система.

В середине 1980-х годов ISO был принят первые стандарт в области компьютерной графики – стандарт на базовую графическую систему. По этому стандарту в Германии была разработана типовая графическая система GKS (Graphical Kernel System) В GKS определены 2 ортогональные шкалы. Первая – уровень сложности вывода 0,1,2. Вторая – уровень сложности ввода a,b,c. Центральное понятие – виртуальная рабочая станция или абстракция графического устройства, которая:

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

Рабочая станция может быть открыта, активирована (в этом случае в неё производится ввод примитивов), деактирована (стерто значение), закрыта. С видовой поверхностью может быть связано несколько буфером (буферная память), в которые накапливаются изменения картинок и из которой эти изменения могут быть вытолкнуты на видовую поверхность. Графические примитивы – базовые элементы, которые считаются неделимыми и из которых строится изображение или его сегмент. Система GKS содержит 6 графических примитивов:

  • 1) Ломаная линия, которая представляет собой плоскую ломаную линию с конечным числом узлов
  • 2) Полимаркер – множество точек, помеченное одним и тем же маркером х х х х
  • 3) Текст – строка текста, состоящая из букв одного и того же шрифта, размера, цвета
  • 4) Многоугольник – плоский многоугольник с конечным числом вершин, возможно заполненный цветом/штрихом
  • 5) Массив ячеек – прямоугольная решетка, часть ячеек которой может быть заполнена цветом
  • 6) Обобщенный графический примитив, который зависит от специализации рабочей станции (примитив разработчика)

Примитив записывается как функция с параметрами. Атрибуты примитива – параметры, определяющие его вид при появлении на рабочей станции. Примитив можно принимать и как процедуру, тогда атрибуты – параметры процедуры. Каждый конкретный примитив определяется в практических ситуациях большим числом параметров. Ломаная (количество узлов, координаты узлов, цвет, толщина, тип линии, идентификатор указки). Часть этих параметров задается с помощью функции установки. Например, цвет линии можно установить заранее и тогда все последующие обращения к примитиву «ломаная» будут использовать это установленное значение. Сегмент – промежуточный уровень между картинкой как целой и примитивом вывода. Сегмент имеет имя и компонуется, как правило, из примитивов вывода и функции установки атрибутов, попавших внутрь операторных скобок. Имеются операции по работе с сегментами как с целыми – удаление, копирование, переименование сегментов. Кроме имени каждый сегмент имеет атрибуты: видимость, выделенность, указуемость, сегментное преобразование. Соответственно и определены операции для изменения сегментных атрибутов. Например, атрибут «погасить» обозначает сегментное преобразование типа «сделать невидимым». Сегментные преобразования – матрица вещественных чисел 2х3, задающая преобразование координат при выводе содержимого сегмента на экран. Выбирая сегментное преобразования можно получить эффект движения сегментов на экране. Примитивами подсистемы ввода служат классы логических устройств ввода, которых в GKS шесть. Например,

  • А) Селектор, который вводит номер ветви выбора
  • Б) Строка – вводит строку символов
  • В) Вальюатор – вводит вещественное число
  • Г) Локатор – вводит позицию в мировых координатах и номер преобразования нормализации
  • Д) Штрих – вводит последовательность позиций в мировых координатах и номер преобразования нормализации
  • Е) Указка – выводит имя указываемого сегмента и идентификатор, связанный с тем примитива, на который смотрит указка

Локатор, штрих, указка являются графическими классами. В GKS определены 3 системы координат: 1 – мировые координаты, 2 – нормализованные координаты (учитываются масштабные преобразования), 3 – физические координаты (координаты устройств, например, принтера)

Преобразование 1-2 – преобразование нормализации, 2-3 – преобразование рабочих станций. Оба этих преобразования задаются парой прямоугольных окон, стороны которых параллельны осям координат GKS является языком высокого уровня. Языки низкого уровня – графический метафайл и графический интерфейс.