- •1.2.Сфери застосування комп'ютерної графіки
- •1.3.Стандарти машинної графіки
- •1.3.5. Функціональні стандарти
- •1.3.6 Рівень прикладної програми
- •2.3.Стандарт gks.
- •2.3.1 Призначення стандарту gks
- •2.3.2. Система програмування gks
- •2.5.Графічні станції
- •2.5.1 Концепції робочої станції
- •3.3 Однорідні координати і матричне представлення двовимірних перетворень
- •Рівняння масштабування (3.6) у матричній формі в однорідних координатах записуються у виді
- •3.4 Композиція двовимірних перетворень
- •4.2. Проектування.
- •4.4 Перетворення проектування. Рівнобіжні орфографічні проекції
- •4.5 Ортографічні аксонометричні проекції
- •4.6. Визначення кутів φ і θ для різних видів аксонометричних проекцій
- •Для прямокутної ізометрії коефіцієнти перекручувань по осях однакові
- •4.7. Косокутні проекції •
- •4.8. Матричне представлення тривимірних перетворень
- •4.9. Композиція тривимірних перетворень
- •5.1.1. Явне завдання багатокутників
- •5.1.2. Завдання багатокутників за допомогою покажчиків у список вершин
- •5.1.3. Явне завдання ребер
- •5.2. Рівняння площини
- •5. 3.1. Параметричні кубічні криві
- •5.4.Формати Безьє , Ерміта і в-сплайни.
- •5.4.1. Форма Ерміта
- •5.4.3. Форма b-сплайнів
- •5.5.1. Форма Ерміта
- •5.5.2. Форма Безье
- •5.6. Перетворення кривих і шматків поверхонь
- •5.7. Обчислення крапок на бікубичній поверхні
- •6.1 Методи створення реалістичних зображень тривимірних объектів.
- •Малюнок 6.1 - Класи моделей геометричних об'єктів
- •6.4. Дифузійне відображення і розсіяне світло.
- •6.3. Дзеркальне відображення
- •6.4.Модель Торренса-Сперроу та інші.
- •7.1 Призначення н сфера застосування алгоритмів растрової графіки
- •7.4.Алгоритми заповнення кольором області : рекурсивний, з затравкою. 7.4.1 Визначення і класифікація областей і алгоритмів
- •7.4.2 Простий алгоритм заповнення з запалом
- •7.5.2. Відокремлення крапок.
- •7.5.3. Відокремлення відрізків .
- •7.5.3 Алгоритм Коена - Сазерленда
- •7.5.4. Алгоритм сортування по глибині
- •7.5.5. Алгоритм, що використовує z-буфер
- •7.5.6. Алгоритми порядкового сканування
- •7.5.7. Алгоритми розбивки області
- •8.1. Алгоритм сортування по глибині
- •7.5.5. Алгоритм, що використовує z-буфер
- •7.5.6. Алгоритми порядкового сканування
- •8.3. Алгоритми розбивки області
- •9.1 Графічний дисплей з довільним скануванням екрана
- •9.1.1 Векторний дисплей
- •9.3. Плоттери з довільним скануванням видової поверхні
- •9.4. Маніпулятори введення інформації і керування її положенням на екрані дисплея
2.3.2. Система програмування gks
На мал. 2.5 показано, як написана користувачем прикладна програма взаємодіє з графічним пристроєм через систему GKS.
Конкретний зміст прикладної програми в даному випадку не має значення.
Фрагмент прикладної програми, що запитує дії системи GKS, складається з викликів підпрограм, кожна з який відповідає тієї чи іншої функції GKS.
Малюнок 2.5 - Система програмування GKS
Після компілювання повного тексту модуля прикладної програми він може бути об'єднаний з модулями бібліотек системи GKS і мовної оболонки ФОРТРАН. На етапі виконання отримана програма взаємодіє з графічним дисплеєм через систему GKS до складу якої входять програми перекодування і драйвери, що забезпечують роботу обраного користувачем графічного пристрою.
Відзначимо, що в результаті виконання приведеного фрагмента програми на екрані дисплея з'явиться графічне зображення, що складається з відрізків прямих. Такий тип зображень у термінології стандарту називається ламаною лінією. У даному випадку для виводу ламаної лінії використовувалася підпрограма GPL.
У системі GKS графічне зображення формується не тільки з ламаних ліній - можливі застосування й інших елементів, що більш докладно розглядаються в наступному розділі. Однак формоване графічне зображення повинне бути двовимірним. Формування зображень тривимірних об'єктів може виконуватися в рамках систем, що реалізують стандарти GKS-3D і PHJGS.
На мал. 2.5 представлена передача даних від прикладної програми до графічного пристрою через систему GKS. У багатьох задачах дані передаються і в зустрічному напрямку - від графічного пристрою, що одержує дані при уведенні від оператора, до прикладної програми.
Система GKS надає програмісту багато функцій графічного введення.
2.4 Елементи зображень.Атрибути і примітиви. Для осмислення • змістовного алгоритму побудови зображення (ЗАПЗ) у ПМГ, уведемо деякі термінологічні поняття і визначення.
Визначення 1. Як завгодно складне зображення на площині можна побудувати за допомогою фіксованого набору найпростіших геометричних фігур (графічних примітивів).
На прикладі .представленому на мал. 2.6. зображення складається з трьох примітивів: двох відрізків (1,3) і дуги (2). -
Малюнок 2.6 - Приклад зображення
Визначення 2. Графічним примітивам (ГП) будемо називати найменший неподільний елемент зображення, для якого в ГДС існує апаратний (програмний) блок його генерації.
Прикладами примітивів можуть служити вже згадувані: відрізок прямої (цифрова модель у пам'яті ЕОМ - двовимірні координати його кінцевих крапок), крапка на площині чи в просторі (цифрова модель – її координати), окружність чи її дуга (цифрова модель - координати центра і величина радіуса) і т.п.
Графічні примітиви характеризуються геометричними і негеометричними атрибутами.
Геометричні атрибути визначають метричні характеристики і положення примітива в просторі в координатах користувача (світових координатах - МК; наприклад, тонни, кілометри, метри, градуси і т.п.).
Негеометричні атрибути визначають візуальні властивості примітивів і їхній статус стосовно різних операцій графічної системи.
Візуальні властивості: видимість (так, немає), яскравість (градації), колір, режим мерехтіння (так, немає), вид лінії (суцільна, пунктирна, штрихова і т.д.).
Статус: можливість чи неможливість указівки світловим пером, можливість видалення ГП чи перетворення його і т.д.
Для реалізації примітивів у пристрої виводу є спеціальні апаратні (програмні) блоки: генератори векторів (відрізків), дуг, окружностей, символів і т.д., що утворять так називане базове графічне забезпечення пристрою виводу.
Конкретний набір примітивів і атрибутів для графічної системи визначається відповідним стандартом на програмне забезпечення ПМГ.
У стандарті GK.S термін примітив використовується для позначення базових графічних елементів, з яких може будуватися зображення. У GKS визначені шість типів примітивів: 1) POLYLINE - ЛАМАНА (лінія, задана крапками зламу);
POLYMARKER - ПОЛІМАРКЕР, послідовність знаків (маркерів) заданого типу, центри яких знаходяться в крапках, що задаються;
TEXT - ТЕКСТ, генерує рядок символів, починаючи з заданої крапки;
FILL AREA - ПОЛІГОНАЛЬНА ОБЛАСТЬ, замкнута область, що заповнена визначеним кольором, штрихуванням чи при відображенні залишається порожньою (не зафарбованою), за винятком границь;
CELL ARRAY - МАТРИЦЯ ОСЕРЕДКІВ, прямокутник, що складається з двовимірного масиву осередків, кожна з який має свій колір;
GENERALIZED DRAWING PRIMITIVE (GDP) - УЗАГАЛЬНЕНИЙ ПРИМІТИВ ВИВОДУ (ОПВ), дозволяє використовувати образотворчі можливості, характерні для графічних пристроїв, що апаратно реалізують вивід таких елементів, як дуги окружностей, еліпсів, онлайновых кривих.
Примітиви ОПВ дають можливість уніфікованим способом використовувати специфічні можливості пристроїв, що значно підвищують ефективність програм, що застосовують GKS. При цьому мобільність таких програм знижується.
Включення примітивів ПОЛІГОНАЛЬНА ОБЛАСТЬ і МАТРИЦЯ ОСЕРЕДКІВ дозволяє ефективно використовувати растрові графічні пристрої. Проте для забезпечення мобільності прикладних програм образи, генерируємі цими примітивами, повинні відображатися і на векторних пристроях.
З кожним примітивом зв'язаний визначений набір параметрів, що використовуються для завдання конкретних образів цього примітива. Наприклад, параметри примітива ТЕКСТ являють собою рядок символів, що підлягає кресленню, початкова позиція цього рядка і кількість символів у ній.. Так, оператор CALL GTX (20., 10, 12, 'ЯДРО- СИСТЕМИ') приведе до креслення напису ЯДРО СИСТЕМИ, що складає з 12 символів з урахуванням пробілу в початкову позицію (20., 10.).
Приклади всіх примітивів GKS показані на мал. 2. 7
Ламана Полімаркери Текст
Малюнок 2 .7. Приклади зображення примітивів виводу GKS
