Смекни!
smekni.com

Комп ютерна графіка 2 (стр. 7 из 11)

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

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

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

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

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

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

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

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

Якщо використовується графічний стан­дарт 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. Структура даних для задання лінії при цьому може бути структурою типу запису, в якому від­різок визначається двома кінцевими точка­ми.

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

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

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

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

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

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

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