Програміська модель інтерактивної графіки 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Програміська модель інтерактивної графіки



Процес удосконалення програмного за­безпечення комп'ютерної графіки був до­сить довгим і повільним. Пройдено шлях від апаратно залежних пакетів програм низько­го рівня, які поставляються виготовниками разом з конкретними дисплеями, до апарат­но-незалежних пакетів високого рівня. Ос­новна мета апаратно-незалежного пакета полягає в тому. щоб забезпечити його мобільність при переході від однієї ЕОМ до іншої. У процесі розв'язання цієї задачі гру­па американської асоціації з використання обчислювальних машин (GGRAPH) запро­понувала проект графічної системи СОRЕ SУSТЕМ, а спеціалісти Німеччини розроби­ли графічну базову систему Graphikal Keгnel System (GKS), прийняту Міжнародною організацією по стандартизації (IS0) як міжнародний графічний стандарт Draft International Standart— ISO/DIS. Ця систе­ма звільняє програміста від урахування особливостей графічних пристроїв при роз­робці програмного забезпечення, при цьо­му користувачеві доступні різноманітні графічні пристрої. Відповідно до викладеного підходу при розробці програмних засобів комп'ютерної графіки виділяються такі задачі: моделю­вання, які призначені для створення, пере­творення та зберігання моделей геометрич­них об'єктів (моделюючі системи); відобра­ження цих моделей на графічних пристро­ях та організації графічного інтерфейса користувача та ЕОМ (базова графічна си­стема). Склад програмного забезпечення відбивається у програміській моделі інтер­активної комп'ютерної графіки.До нього входять три компоненти: моде­лююча система, базова графічна система та прикладна структура даних (база даних).

    Моделююча система здобуває інформа­цію та засилає її у бази даних, а також над­силає графічні команди до графічної сис­теми.

База даних містить опис реальних та аб­страктних об'єктів, зображення яких мають з'явитися на екрані дисплея. До опису об'єк­тів звичайно додають геометричні дані про координати, які визначають форму ком­понентів об'єкта (параметри), атрибути об'єкта (тип, товщину, колір лінії чи фак­туру поверхні, тип шрифту, розмір сим­волів, напрям рядка символів, центруван­ня рядка символів), а також дані про зв'яз­ність та положення (про поєднання ком­понентів між собою). Є також негеометрична, чи текстова, інформація про “властивості”, яка корисна для програм постобробки та для інтерактивного користувача. Прикладами таких даних для застосуван­ня в галузі комп'ютерного проектування є відомості про ціну та постачальника, теп­лові, механічні чи електричні властивості та допуски.

Моделюючі системи створюються на ос­нові програмних засобів, які реалізують ос­новні графічні функції — типові способи комп'ютерної графіки, що необхідні для си­стем будь-якої проблемної орієнтації. До ос­новних графічних функцій належать: по­зиційні та метричні задачі, афінні перетво­рення (зсув, перенесення, поворот, симетрія, масштабування), теоретико-множинні опе­рації (перетин, об'єднання, доповнення, різниця) тощо. Ці функції реалізуються на основі внутрішніх канонічних моделей об'єктів, які описують графічні елементи, що дає змогу використовувати найбільш ефек­тивні алгоритми.

Основні графічні функції мають бути реалізовані як для дво-, так і для тривимір­них моделей.

Тривимірні моделі можуть бути аналі­тичними, кусково-аналітичними, алгебрологічними, рецепторними та ін. Відповідно до класу задач, які розв'язу­ються, моделююча система, крім основних графічних функцій, може доповнюватися графічними функціями проблемної орієн­тації.

Моделююча система описує дво- чи три­вимірну геометрію об'єкта, який виводить­ся на видову поверхню, для графічної сис­теми, ядром якої є базовий графічний па­кет (БГП). БГП містить набір підпрограм, які забезпечують інтерфейс з мовою висо­кого рівня та дає змогу працювати з при­строєм у термінах елементарних графічних операцій різного рівня складності (зобра­зити відрізок зеленим кольором, зобрази­ти коло тощо). Цей набір підпрограм зви­чайно покриває майже всі можливості апа­ратури. Склад та функції підпрограм БГП залежать від конструкції обладнання, мож­ливостей його блока керування. Вважають, що БГП для графопобудовника містить підпрограми креслення відрізків прямих, кола та його дуг суцільними та штрих пунктирними лініями, а також виведення тек­стових та цифрових написів. БГП для гра­фічного дисплея забезпечує, великі можли­вості. наприклад, масштабування та пере­міщення зображення, розподіл графічної інформації на сегменти та незалежне керу­вання частинами зображення, виділення, витирання елементів тощо.

Результати роботи підпрограм безпосе­редньо відображуються на обладнаннях графічного виведення. БГП працює з об­ладнанням введення — виведення графіч­ної інформації (ГІ) через програму-драйвер операційної системи. Програма-драйвер реалізує взаємодію із системою та виконання інструмента (графопобудовника, електронного променя графічного дисплея, підсвічування точки та ін.).

Образно кажучи, графічну систему мож­на порівняти з "уявлюваною фотокамерою". Моделююча система дає уявлюваній фото­камері опис сцени, яка складається з одно­го (чи більше) об'єкта деякого штучного світу (дво- чи тривимірного). Потім ця ка­мера створює вигляд об'єкта в цьому світі. Як і у разі використання фотоапарата "По­ляроїд", зроблений знімок відразу "прояв­ляється" і майже миттєво може бути пока­заний на видовій поверхні. Уявлювана ка­мера діє як реальна: вона може побудува­ти знімок сцени тільки з візуальних еле­ментів найнижчого рівня та нічого не знає щодо їх організації чи структури. Тому моделююча система описує об'єкти для графічної системи як графічні примітиви ниж­нього рівня.

Таким чином, графічна система забезпе­чує введення та виведення графічної інфор­мації. Вона має бути інваріантною щодо об'єкта й проблемно-незалежною.

Якщо використовується графічний стан­дарт GKS, то забезпечується крім цього незалежність і від технічних засобів ком­п'ютерної графіки, що досягається завдя­ки введенню поняття графічної робочої станції, яка є абстракцією фізичного при­строю. Логічні пристрої введення призна­чені для введення: координат (LOCATOR), дійсних чисел (VALUATOR.), послідовності координат (STROKE), рядка символів (STRING), однієї з альтернатив (СНОІСЕ), елемента зображення (RІСК).

Пристрій виведення забезпечує виве­дення:

· ламаної (POLYLINE);

· послідовності маркерів спеціальних символів з центрами у визначених точках (POLYMARKER);

· рядка тексту (ТЕХТ);

· заповненої площі (FILL AREA);

· масиву клітин (CELL ARRAY);

· узагальненого графічного примітива (GENERALIZED DRAWING PRIMITIVE).

Атрибути примітивів визначаються з точ­ністю до реалізації робочої станції, яка інтерпретує їх відповідно до можливостей апаратури. Слід зазначити, що система GKS —двовимірна графічна. Проте в рам­ках ISO виконуються роботи, пов'язані з розробкою стандарту для тривимірної гра­фіки.

Крім того, у рамках ISO проектується стандартизація геометричного інтерфейса між системами автоматизованого проекту­вання та виробництва, який стандартизує формат файла даних для обміну проектно-конструкторською інформацією.

Процедурно-орієнтовані мови. Текстові і графічні редактори

Процедурно-оріентовані мови реалізації комп'ютерної графіки мають відповідати таким вимогам:

1 Мова повинна давати користувачеві засоби для опису та генерації зображень і маніпулювання ними. Для опису та гене-рації зображень потрібно мати команди за допомогою яких можна специфікувати графічні примітиви або сукупність примітивів і задавати атрибути, які визначають візуальні якості цих примітивів на екрані дисплея. До маніпуляції належать геомет­ричні перетворення та операції кадруван­ня, а також перекомпонування піделементів малюнка, їх злиття та виведення.

2 Графічна мова повинна мати засоби для аналізу зображень. Для цього слід мати команди, які дають змогу виявляти та дос­ліджувати річні способи зображення. Ана­лізуються також взаємозв'язки між піделементами зображень.

3 Мова має бути гнучкою. Важливою є наявність засобів для роботи з процеду­рами.

Нині таких універсальних графічних мов ще не розроблено. Формування зображень (зокрема інтерактивне) та їхній аналіз було виділено в дві окремі частини; шляхи зоб­раження цих частин поки що тільки диску­туються.

Розглянемо модель графічних мов висо­кого рівня.

За останнє десятиріччя з'явилося багато графічних мов або графічних розширень існуючих мов.

Розширення мови означає додаток до існуючої "базової" мови нових синтаксич­них конструкцій. Деякі з існуючих мов про­грамування зручні для розширення, тому їх називають "розширюваними". Взагалі розширення мови вимагає модифікації та переписування заново існуючого компіля­тора, що є довгого трудомісткою роботою. Крім цього, виникає питання про транс­портабельність одержаного таким чином діалекту мови.

Найбільш поширеним методом, який дає змогу відмовитися від модифікації компі­лятора базової мови, є створення передтранслятора. При цьому початкова програма складається за інструкціями двох видів: інструкцій базової та розширеної мов. Передтранслятор транслює останні інструкції базової мови.

Останнім часом з'явилося багато мов для опису зображень, в яких вони подаються як композиції найпростіших елементів. При цьому різновидів найпростіших елементів небагато.

Однією з мов такого типу є мова АutoLISP.

Основним графічним примітивом цієї мови є лінія. Лінія ідентифікується вибором двох точок, які їй належать (початком і кін­цем).

Наведемо приклади задання відрізків:

double from x; подвійне x;

double from y; подвійне y;

double from z; подвійне z;

double to x; подвійне х;

double to у; подвійне у;

double to z; подвійне z.

Звичайно таке подання застосовується в примітивних програмах.

Як відомо, дві точки визначають пряму. Місце розміщення точки в пристрої визна­чається координатами х. у, z. Структура даних для задання лінії при цьому може бути структурою типу запису, в якому від­різок визначається двома кінцевими точка­ми.

Якщо моделюється множина ліній, що складаються із сотень та тисяч відрізків, то існують методи, які дають змогу скорочува­ти не тільки обсяг пам'яті, а й час пошуку.

Типовими мовами високого рівня є Фор­тран. Паскаль, Сі++, Лісп, Бейсік.

Вхідною інформацією для операторів, що генерують графічні об'єкти, є числові дані. Їхнім виходом є креслення на графо­побудовнику чи зображення на екрані дис­плея. Вони нічим принципово не від­різняються від інших процедур виведення з обчислювальної машини.

Для задач пов'язаних з генерацією зоб­ражень, система графічного програмуван­ня може бути реалізована у формі пакету підпрограм. За останні роки було створе­но велику кількість таких пакетів, орієнто­ваних на генерацію зображень (зокрема в інтерактивному режимі).

Технічне забезпечення було б недоціль­ним без програмного забезпечення його.

Програмне забезпечення графіки — це набір програм, підготовлених, щоб зроби­ти їх зручними для користувача, який працює із системою комп'ютерної графіки. Цей набір програм включає програми для фор­мування зображень на екрані ЕПТ, для ма­ніпулювання зображеннями та для вико­нання різною роду взаємодій між корис­тувачем та системою. Крім програм графі­ки, в нього можуть входити додаткові про­грами, які реалізують які-небудь спеціальні функції. До них належать, зокрема, програ­ми аналізу конструкцій.

Програмний засіб для конкретної систе­ми комп'ютерної графіки значного мірою залежить від типу апаратних засобів, що використовуються в цій системі. Він має бути написаний спеціально для тих типів ЕПТ і обладнань введення, які застосову­ються в даній системі. Внутрішня структу­ра програм для ЕПТ зі штриховим записом звичайно відрізняється від структури про­грами для ЕПТ з растровим скануванням, Відмінність між трубкою запам'ятовуван­ня та трубкою з регенерацією також має впливати на програму графіки. Хоча ці відмінності в програмах можуть бути непомітними для користувача, вони важливі при проектуванні системи інтерактивної комп'ютерної графіки.

Проектуючи програмні засоби графіки слід керуватися шістьма основними прави­лами:

1 Простота. Програмні засоби комп'ю­терної графіки мають бути прості у вико­ристанні.

2 Несуперечність. З точки зору корис­тувача програми пакету повинні функціо­нувати узгоджено та бути передбачува­ними.

3 Повнота. У наборі графічних функцій не повинно бути істотних упущень.

4 Стійкість. Система графіки має бу­ти стійкою до незначних помилок опера­тора.

5 Продуктивність. Програмні засоби повинні забезпечувати максимально мож­ливу продуктивність у межах, накладених апаратними засобами. Програми графіки мають бути ефективними, а час реакції— малим у розумних межах.

6 Економічність. Програми графіки не повинні бути занадто великими та дороги­ми, бо це може зашкодити їх використанню.

Звичайно програмне забезпечення поді­ляють на два великих класи: системне про­грамне забезпечення та прикладне про­грамне забезпечення

Операційна система (ОС) є найважливі­шою складовою програмного забезпечен­ня комп'ютерної графіки. Вона призначе­на для керування та організації комп'ютерних операцій.

У більшості випадків операційна систе­ма поділяється на дві частини; основна про­грама, яку називають ядром, та набір пе­риферійних програм, які називають утилі­тами.

Функції ядра ОС такі:

· організація простору пам'яті на апа­ратних пристроях в структурні одиниці для зберігання та відновлення інформації. Ці структурні одиниці називають файлами;

· виконання вказівок та пошук існую­чих файлів та утиліт;

· керування одночасним виконанням різних програм та забезпечення зв'язку між такими програмами;

· керування інтерфейсними операціями між програмами та зовнішньою апаратною периферією.

Найвідоміші операційні системи СР/М та МS/DOS фірми Місrоsоft. Часто вико­ристовується операційна система UNIX.

Прикладне програмне забезпечення — це пакет прикладних програм, які реалізовані на мові високого рівня.

У найбільш застосовуваних мовах про­грамування, таких як Сі++, Паскаль, Бейсік є набір функцій елементарної (базової) графіки. У цей набір входять функції крес­лення простих геометричних фігур, ліній прямокутників, багатокутників, кола, еліпсів, дуг тощо.

Крім того, набір доповнюється функція­ми зафарбовування, виведення рядків текс­ту, засобами креслення графіків та діаграм. Засоби елементарної (базової) графіки роз­раховані на ділову графіку, тобто на побу­дову на екрані різних графіків та діаграм, а також на показ простих рисунків, які під­готовлені в графічних редакторах. Проте є цілий клас задач, в яких графіка не тільки використовується для показу на екрані ре­зультатів розрахунку або закінчених форм, а й е інтерфейсом комп'ютера з користувачем. На сучасному рівні комп'ютеризації властивість інтерактивності притаманна практично всім програмам персональних комп'ютерів (ПК) у текстовому режимі. Інтерактивність у графіці дає більш висо­кий якісний рівень взаємодії з користува­чем.

Обсяг інформації на одному екрані в гра­фічному режимі може бути значно більшим, ніж на тому самому екрані в текстовому режимі.

Графічний інтерфейс складається з набо­ру бібліотек функцій базової та інтерактив­ної графіки і графічного редактора. Бібліо­теки, розроблені для мов програмування: Сі++, ТурбоПаскаль, Кліпер.

Графічний редактор та бібліотеки взає­мопов'язані концептуально, тобто графіч­ний редактор побудований з використан­ням бібліотек графічного інтерфейсу, а бібліотеки мають функції для роботи з гра­фічними об'єктами, підготовленими за до­помогою графічного редактора — слайда­ми, томами, фреймами.

Графічний інтерфейс оперує трьома ти­пами графічних об'єктів:

слайд — растрова копія екрана. Збері­гається у файлі в упакованому форматі. Створюється в графічному редакторі або імпортується з інших систем за допомогою резидентного копіювальника екрана. Слайд звичайно використовується як фоновий малюнок:

 том — бібліотечний набір малюнків невеликого формату. Доступ до малюнків здійснюється за номером або іменем. Малюнки зберігаються в томі в упакованому форматі. Тома вигідні для зберігання при­мітивів (ісоns), елементів "меню", умовних позначень, фрагментів зображень, які час­то використовуються;

фрейм — графічна база даних скла­дається з упорядкованого набору записів і заголовка. Запис містить інформацію про координати, тип, колір та інші атрибути одного з графічних елементів.

Графічний елемент — це лінія, прямокутник, коло, багатокутник, зафарбовування, сплайн, текс­товий рядок, малюнок з тома. У заголовку міститься інформація про слайд і том, які використовуються з цим фреймом. Запис може бути доповнений кодом, визначеним користувачем, тоді кожному елементу зоб­раження відповідає код, що можна викори­стовувати, наприклад, для зв'язку з базою даних та організації доступу до елементів зображення.

Пропонованого набору функцій графіч­ного інтерфейсу достатньо для написання свою графічного редактора з потрібними властивостями.

Функції бібліотеки поділяються на дві групи:

· базової графіки;

· інтерактивної графіки.

Набір функцій базової графіки складає­ться з стандартних наборів функцій крес­лення простих графічних елементів, функ­цій виведення роботи з вікнами, переведен­ня сторінок, показу слайдів, виведення на принтер.

Набір функцій інтерактивної графіки дає змогу працювати з фреймами, слайда­ми і томами, а також з курсором за допо­могою маніпулятора "миша" або клавіа­тури.

Функція роботи з фреймами включає:

· читання одного або кількох фреймів з пам'яті;

· актуалізацію одного з фреймів;

· показ усіх елементів фрейму на екра­ні;

· показ вибраного елемента фрейму на екрані;

· установлення першого або останньо­го елементи фрейму;

· послідовний перегляд елементів фрей­му;

· зміна атрибутів елемента фрейму (ко­ординат. кольору);

· вибір елементів фрейму через зазна­чення його на екрані;

· приєднання додаткового коду до еле­мента фрейму;

· вибір елемента фрейму за кодом;

· запис фрейму, який змінився у файл:

· видалення фрейму з пам'яті. Функції роботи з томами полягають у:

· завантаженні змісту тома в пам'ять;

· завантаженні малюнка з тома за іме­нем або порядковим номером;

· показі малюнка на екрані у різних ре­жимах.

Редактор підтримує векторний і растровий способи створення зображення На­явність шрифтів з алфавітом робить редак­тор зручним для вітчизняного користу­вача.

Графічний редактор дає змогу:

· зображувати лінії, причому лінії мо­жуть бути досить складними (наприклад, хвилястими), а прості лінії можуть мати різну товщину;

· подавати зображення точками різ­ного розміру.

Це растрове зображення призначене для коригування та створення слайдів. При цьому доступні режими зоб­раження за допомогою точки, парних або непарних точок, а також зображення точ­кою із заданим шаблоном зафарбову­вання:

· заливати, перефарбовувати, обміню­вати два кольори;

· зображати прямокутники, кола, зам­кнені багатокутники;

· подавати зображення сплайнів, дуг (гіпербол, парабол, еліпсів), ламаних лі­ній;

· вводити текстову інформацію різни­ми шрифтами, вертикально або горизон­тально з масштабуванням і тінями;

· подавати зображення в режимі збіль­шення;

· копіювати частини растрового ек­рана:

· повертати вибраний елемент або зону растрового екрана.

 



Поделиться:


Последнее изменение этой страницы: 2020-03-02; просмотров: 153; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.200.136 (0.043 с.)