GKS-3D (Graphical Kernel System for Three Dimensions)
Отличия GKS-3D от GKS заключаются в добавлении 3D функций:
примитивов 3D вывода;
установки атрибутов вывода (2 функции);
поддержки 3D преобразований (9 функций);
работы с 3D сегментами и преобразований 2D сегментов в 3D и наоборот (4 функции);
ввода с 3D координатных устройств (10 функций);
утилит работы с матрицами 3D преобразований (2 функции).
В целом GKS может рассматриваться как подмножество GKS-3D, т.е. 2D приложения, написанные на GKS, гарантированно исполняются в 3D окружении без каких-либо изменений.
В 1988 г. GKS-3D была принята в качестве международного стандарта . В период с 1988 по 1990 гг. прорабатывались проекты стандартов ISO 8806 на интерфейсы GKS-3D с языками программирования. В 1991 г. завершилось их принятие в качестве международных стандартов.
PHIGS (Programmer's Hierarchical Interactive Graphics System)
Во многих приложениях возникает необходимость геометрического моделирования трехмерных тел (САПР машиностроительного, строительного, архитектурного и других направлений, системы автоматизации научных исследований, системы визуализации и т.д.).
Использование GKS или GKS-3D для отображения результатов моделирования предполагает, что моделирование целиком должна выполнять прикладная программа, так как эти системы ориентированы на прямой ввод/вывод и в них не предусмотрено иного манипулирования графическими данными кроме накопления в сегментах.
PHIGS же комбинирует графику с техникой моделирования и представляет собой набор функций программирования графики с поддержкой быстрой модификации графических данных, описывающих геометрические соотношения объектов.
Набор примитивов вывода и их атрибутов в PHIGS тот же самый, что и в GKS-3D с добавлением примитива "annotation text relative" для пометки объектов.
Принципиальное отличие PHIGS от GKS состоит в том, что в PHIGS создание и отображение изображения разделены на две независимых фазы - занесения в централизованную структурную память (CSS - Centralized Structure Store) и отображения заданной структуры на требуемую рабочую станцию.
Структура состоит из графических и неграфических элементов. Поддерживаются возможности создания и редактирования структур в CSS. Структура может вызывать другие структуры за счет чего создаются иерархии. Предусмотрено 9 классов структурных элементов:
Таблица 7.1. Классы структурных элементов в CSS
примитивы вывода; | спецификация атрибута; |
локальное преобразование моделирования; | редактирование; |
обобщенный структурный элемент; | прикладные данные; |
глобальное преобразование моделирования; | управление; |
отсечение. |
Графический вывод задается в т.н. модельных координатах. Элемент "локальное преобразование моделирования" задает преобразование, которое применяется к последующим примитивам вывода.
Элемент "редактирование" определяет метку, используемую при редактировании и несущественную при отображении. Предоставлены возможности поиска метки и установки на нее указателя.
"Обобщенный структурный элемент" позволяет определить нестандартные действия.
Элемент "прикладные данные" несущественен при отображении. Обычно представляет собой указатель на прикладную базу данных.
Основное отличие между системами PHIGS и GKS-3D заключается в наличии элемента "Исполнить структуру" (Execute Structure), позволяющего при отображении исполнить структуру как часть другой. Когда такой элемент принимается интерпретатором, то текущее состояние упрятывается и управление переключается на структуру, заданную в элементе. После завершения интерпретации вызванной структуры восстанавливается исходное состояние и интерпретация продолжается с элемента, следующего за элементом "Исполнить структуру".
При вызове структуры она наследует глобальное модельное преобразование вызвавшей структуры. Даже если при исполнении вызванной структуры глобальное модельное преобразование будет изменено с помощью соответствующих функций, тем не менее по возврату исходное глобальное преобразование будет восстановлено.
Локальное модельное преобразование, комбинируясь с глобальным, формирует текущее модельное преобразование.
В PHIGS может быть отредактирован отдельный графический элемент структуры, что обеспечивает большую скорость модификации изображения по сравнению с GKS, в которой, как минимум, требуется перегенерация сегмента, содержащего изменяемый примитив.
PHIGS+
PHIGS+ - расширение PHIGS, имеющее дополнительные функциональные возможности для приложений, требующих учета освещенности, раскраски (интерполяции цветов по поверхности), а также дополнительные возможности по управлению отображением и новые примитивы для поддержки эффективного описания сложных поверхностей. Эти расширения были сформулированы как поправка к существующим частям 1-3 стандарта PHIGS и введением новой части 4 стандарта.
Поддержка освещенности и раскраски основана на предоставлении средств задания позиции источника света и наличии примитивов "с данными", задающими вектора нормалей и цвета вершин.
Предоставлена возможность задания в структуре "ограничивающего бокса". Когда он обрабатывается, то устанавливаются флаги отсечения (если ограничивающий бокс полностью вне области вывода) и отбраковки (если ограничивающий бокс меньше заданного размера). Этот дополнительный элемент структуры предназначен для управления пропуском исполнения структуры, образ котрой находится вне области вывода, и позволяет повысить скорость отображения.
Дата добавления: 2015-01-29; просмотров: 1105;