Служби
Принципи графіки. Підтримування графіки обговорено в термінах наступних фундаментальних принципів графіки.
Графічні примітиви — будівельні блоки, використовувані для створення відображуваних об’єктів або збереження їх в архівному файлі. Загальні графічні примітиви розділені на класи елементів, що містять; лінійні, маркерні та текстові елементи, елементи заповнення області, секційні І символьні елементи. Кожен клас елементів має власні графічні примітиви. Наприклад, примітиви лінійного елемента охоплюють ламані лінії, дуги і сплайни. На доповнення, узагальнений примітив малювання — графічний примітив, використовуваний для звертання до залежних від пристроїв графічних примітивів.
Атрибути примітивів визначають вид графічних примітивів і класифікують як індивідуальні чи зв’язані атрибути. Кожний із класів елементів має конкретні атрибути, зв’язані чи Індивідуальні. Наприклад, зв’язаний набір атрибутів лінійного елемента охоплює тип лінії, її ширину і колір. До індивідуальних атрибутів лінії можна віднести закінчення лінії стрілкою (LINE CAP), що визначає вид кінцевих точок лінійного елемента.
Вхідні примітиви чи логічні пристрої — віртуальні пристрої, розроблені для відділення прикладної програми від реальних пристроїв вводу даних. Логічні пристрої включають пристрій пошуку (добору), уводу координат, вибору, присвоювання значення тощо. У термінах реальних пристроїв пристрій уводу координат можна асоціювати з лівою кнопкою миші.
Модель уводу описує зв'язки вхідних примітивів і логічних пристроїв із фізичними пристроями уводу даних і наданим прикладній програмі порядком керування пристроями. Наприклад, один Із керівних виборів можна асоціювати з реакцією логічного пристрою уводу координат, після натискання кнопки миші, на екрані оператора. Зворотний зв’язок можна зобразити у вигляді прямокутного курсору або підсвічування (збільшення яскравості) геометрії об’єкта згідно переміщення перехрестя курсору. Після відпускання кнопки її координати реєструє пристрій уводу координат, а подія стає в чергу подій, перевіряючись асинхронно прикладною програмою. Метод прикладної програми, використовуваний для визначення наявності даних у пристрої, зазвичай описують в термінах режимів. Загальний режим — режим події. Прикладна програма певний час чекає появи в черзі певної події. Якщо за цей час не відбувається жодна подія, прикладна програма обробляє Інший процес і врешті повертається до перевіряння черги зі сподіваною певною подією. Якщо подія трапляється, прикладна програма визначає тип події й отримує дані для виявленого типу події. Для пристрою пошуку (добору) дані можуть подавати всілякі графічні примітиви, що перетинають певну ділянку-апертуру, можливо, визначену в системі координат пристрою.
Системи координат і відсікання. Частина підтримування графіки — засоби, що використовують різні системи координат. Графічний вивід для графічної системи треба описувати на основі певної системи координат, що відповідає прикладній програмі, І надавати пристрою відображення на основі його власної системи координат. Малоймовірно, що ці дві системи координат будуть збігатися. Отже, графічна система може включати ряд координатних систем і виникає потреба опису перетворень між ними. Деякі стандартні типи перетворень масштабують, обертають, перетворюють, відбивають і паралельно з перспективою проектують. Використовують для керування об’єктами в системі координат і відображення з однієї системи координат на іншу. Зазвичай використовувані системи координат — координати моделі, зовнішня система координат, зв’язані з поданням координати, координати нормалізованої проекції і координати приладу.
Відсікання — процес визначення області простору й обмеження графічного виводу цією областю. Тільки примітиви об'єктів у відсіченій області мають відображуваний вивід.
Модель виводу — концепція створення, відображення і керування графічними об’єктами на пристроях виводу. Модель виводу визначає позиціювання й організацію об’єктів на екрані та візуальний стан об’єктів типу «видимий» чи «невидимий», необхідність усувати приховані лінії, відповідність зображення утримуваній структурі, несумісність зображення з утримуваною структурою тощо.
Чіткіше концепція моделі виводу складається з:
конвеєрного перетворення;
конвеєрного тонування;
утримуваних структур;
неутримуваних структур;
графічних режимів;
віконних систем.
Збереження/архівація. Необхідні, але не трактуються в цій версії Настанови формати даних для збереження відображуваних чи тонованих зображень.
Графічні служби можна узагальнити на підставі можливостей:
створювати, видаляти і змінювати елементи відображення;
визначати і редагувати глобальні й індивідуальні атрибути примітиву;
трансформувати (тобто масштабувати, перетворювати, обертати, відбивати, проектувати тощо) примітиви для конструювання складніших об’єктів й їхнього розташування у просторі візуалізації;
створювати і керувати БД примітивів, визначати і редагувати атрибути, створювати і поєднувати перетворення і вибірково керувати відображенням графічних примітивів;
відображати графічні об’єкти, створені в БД, чи примітиви безпосередньо або одночасно;
застосовувати алгоритми підсвічування і затінення до сукупностей графічних об’єктів із багаторазовими світловими типами і джерелами;
готувати дані для відображення і керування узгодженням за часом фактичного відображення даних; у деяких системах це зветься керуванням буфером кадрів;
зберігати і відновлювати графічні об’єкти з файлів;
керувати пристроями вводу даних і відновлювати дані з пристроїв уводу даних;
безпосередньо виводити в метафайл і відновлювати графічні дані з метафайлу;
одержувати відомості щодо всіх аспектів графічного середовища; наприклад, стан системи в довільний час, фактичні можливості апаратної платформи, атрибути і примітиви, підтримувані пев- ною реалізацією тощо;
підтримувати розподілену графіку;
контролювати помилки.
Служби АРІ, Головні категорії графічних служб, доступних через АРІ, включають АРІ: — двовимірної (2-D) графіки;
тривимірної (З-D) графіки;
інтерфейсу пристроїв;
оброблення зображення.
Для більшості стандартів АР! існують стандартні мовні прив’язки, що дозволяють застосуванням, які використовують різні мови програмування, звертатися до тих самих функційних можливостей.
Вибір графічного стандарту для використання АРІ залежатиме від ряду факторів: профілю застосування, повної архітектури системи, доступного обладнання, наявної взаємодії БД із прикладною програмою, розуміння ефективності системи, вимог інтерфейсу користувача, стратегії керування й інших зовнішніх факторів. Метою створення сумісного набору графічних стандартів у GKS, GKS-3D, PHIGS, PHIGS PLUS тощо (описаних у 4.10.5.1) є уможливлення робити такий вибір найгнуч- кішим чином.
Служби ЕЕІ. Головні категорії графічних служб EEI POSIX-OSE містять:
протоколи;
формати файлу.
Вибір використовуваного стандарту залежить від ряду факторів: профілю застосування, архітектури системи, доступного обладнання, розуміння ефективності системи й інших факторів.
Стандарти, специфікації і недокументоеані служби
Сьогодні в комп'ютерній графіці діє кілька основних стандартів, схвалених національними чи міжнародними організаціями, на взірець ANSI й ISO. Також реалізований певний обсяг робіт зі стандартизації стосовно зв'язаних областей типу обміну даними прикладних програм. Офіційні стандарти графіки доповнені де-факто стандартами, прийнятими промисловістю. У цьому підрозділі наведене загальне роз’яснення щодо стандартів, їхніх специфікацій і взаємозв’язків.
Див. таблицю 24.
Стандарти POSIX-OSE
Стандарти, перелічені у цьому підрозділі, є частиною POSIX-OSE.
Таблиця 24 —• Стандарти підтримування графіки в Еталонній моделі POSIX-OSE
Служби |
Тип |
Специфікація |
Підрозділ |
Двовимірна (2-D) графіка |
S |
ISO/IEC 9592-1:1997, ISO/IEC 9592-2:1997, ISO/IEC 9592-3:1997 (PHIGS); ISO/IEC 7942-1:1994, ISO/IEC 7942-2:1997, ISO/IEC 7942-3:1999, ISO/IEC 7942-4:1998 (GKS); ISO/IEC 9636-1:1991, ISO/IEC 9636-2:1991, ISO/IEC 9636-3:1991, ISO/IEC 9636-4:1991, ISO/IEC 9636-5:1991, ISO/IEC 9636-6:1991 (CGI) |
4.10.5.1 |
Тривимірна (З-D) графіка |
S |
ISO 8805:1988 (GKS-3D), ISO/IEC 9592-1:1997, ISO/IEC 9592-2:1997, ISO/IEC 9592-3:1997 (PHIGS), ISO/IEC 9636-1:1991, ISO/IEC 9636-2:1991, ISO/IEC 9636-3:1991, ISO/IEC 9636-4:1991, ISO/IEC 9636-5:1991, ISO/IEC 9636-6:1991 (CGI) |
4.10.5.1 |
Оброблення зображення |
S |
ISO/IEC 12087-1:1995, ISO/IEC 12087-2:1994, ISO/IEC 12087-3:1995/Amd 1:1996, ISO/IEC 12087-5:1998 (IP!) |
4.10.5.1 |
Протоколів |
р |
PEX Specification |
4.10.5.2.2 |
Форматів файлів |
S |
ISO/IEC 8632-1:1999, ISO/IEC 8632-2:1992/Amd 1:1994/ /Amd 2:1995, ISO/IEC 8632-3:1999, ISO/IEC 8632-4:1999 (CGM), ISO/IEC 9592-1:1997, ISO/IEC 9592-2:1997, ISO/IEC 9592-3:1997 (PHIGS 2-3) |
4.10.5.1 |
Тестування відповідності |
S |
ISO/IEC 10641:1993 |
4.10.5.1 |
Таблиця 25 — Мовні прив’язки стандартів графіки
Стандарт |
LISS |
Ada |
APL |
Basic |
Ci |
C++ |
Лісп |
Фортран |
Модула~2 |
Паскаль |
PL/1 |
Пролог |
Кобол |
PHIGS |
|
S |
|
|
S |
|
|
S |
|
|
|
|
|
GKS |
|
S |
|
|
S |
|
E |
S |
|
|
|
|
|
GKS-3D |
|
S |
|
|
s |
|
S |
S |
|
|
|
|
|
CGI |
|
s |
|
|
|
|
|
|
|
|
|
|
|
IPI |
|
|
|
|
E |
|
|
|
|
|
|
|
|
Примітка. Тут LISS — доступна незалежна від мов специфікація; S — офіційний чинний стандарт; Е — вихідний стандарт або проект стандарту; Р — загальноприйнята опублікована специфікація; G (дар) — прогалина (відсутність специфікацій).
Стандарт PHIGS програміста ієрархічної інтерактивної графіки. ISO/IEC 9592:1997 утрьох частинах є стандартом комп’ютерної графіки й оброблення зображення. У частині 1 описані функціональні характеристики PHIGS, у частині 2 — формат архівних файлів, а в частині 3 — специфікація відкритого кодування текстів для архівних файлів. Прив'язки до основних мов програмування містить ISO/IEC 9593; у ISO/IEC 9593-1:1990/Amd 1:1995 —для Фортрану, у ISO/IEC 9593-3:1990 — для Ади, у ISO/IEC 9593-4:1991/Amd 1:1994/Amd 2:1998 —для Сі.
PHIGS (РгодгаммегЧ Hierarchical Interactive Graphics Standard) — функціональна специфікація інтерфейсу між прикладною програмою й її системою підтримування графіки. Надає такі графічні можливості:
високий ступінь взаємодії;
багаторівневе, ієрархічне структурування графічних даних;
проста модифікація графічних даних І співвідношень між даними;
тривимірний (З-D) і двовимірний (2-D) графічний увід-вивід;
автономне збереження (і пошук) графічних даних.
PHIGS керує визначенням, модифікацією і відображенням ієрархічних графічних даних і дає функціональні описи можливостей систем, разом із описом внутрішніх структур даних, можливість редагування, операції відображення і функції керування пристроями. PHIGS керує організацією і відображенням даних у централізованій базі даних, дозволяючи програмістам визначати й організовувати графічні дані у найзручнішій формі для прикладної програми. Такий Ієрархічний підхід — перевага, відсутня в іншому міжнародному стандарті GKS.
Об'єкти визначені в графічній базі даних PHIGS послідовністю елементів, разом з елементами відображення, атрибутами, перетворенням та ініціюванням інших об’єктів і описів об’єктних частин. Елементи згруповані в об’єкти, що названі структурами і можуть зв’язуватися різними шляхами, зокрема геометричними, ієрархічними або відповідно до притаманних властивостей чи характеристик, визначених прикладною програмою.
PHIGS надає інструментарій для використання ієрархічних структур даних із мінімальними зусиллями з боку прикладних програмістів. Зображення, сконструйовані з геометричних моделей, часто мають очевидну структуру. Структуру можна Іноді легко помітити у повторному використанні символів, на зв'язках і геометричних співвідношеннях між об’єктами чи глобально в організації складного зображення. Навіть якщо структура об’єкта не є очевидною, основна організація даних може бути зовсім точною, добре визначеною і зрозумілою для прикладної програми. PHIGS підтримує ці обидва випадки, відокремлюючи визначення графічних даних від дій, необхідних для їхнього відображення.