1. Методи та алгоритми формування контурних зображень

1.1. Елементи графічних зображень

Графічні зображення формуються з використанням примітивів.

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

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

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

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

Примітиви поділяються на геометричні (точки, відрізки прямих, ламані, дуги кривих, частини поверхонь); текстові і символьні (маркери).

Розрізняють апаратний, програмний та програмно-апаратний рівні формування примітивів.

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

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

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

Примітив задається:

*  параметрами, які визначають його форму, розміри і місце розташування;

*  візуальними властивостями, які визначають його видимість, колір, яскравість, динамічні властивості, тип і товщину ліній;

*  статусом, який визначає відношення до різних операцій , таких як вилучення, перетворення, вказівки світловим пером.

*  режимом занесення в відеопам'ять (режими заміщення, накладання, зворотне читання та ін.).

Графічна система включає засоби для об’єднання примітивів. Наявність структурованих даних дозволяє отримати із обмеженого набору базових елементів достатньо велику кількість видів та проекцій зображень. Спрощується заміна, поворот та переміщення як окремих фрагментів , так і всього зображення. Структурні зв'язки між графічними даними значно полегшують процес пошуку та ідентифікації інформації, а також формування динамічних зображень. Останнє пояснюється тим, що при формуванні зображень, що відтворюють рух, на екрані появляються тільки декілька нових елементів, а повна зміна відбудеться через деякий інтервал часу, який визначається швидкістю руху зображення та розмірами поля виводу. Тому імітацію руху здійснюють шляхом формування нових фрагментів при зберіганні статичних фрагментів без змін.

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

Графічним елементом називається упорядочена совокупність примітивів одного й того же типу. Зрозуміло, що графічний елемент може складатись всього з одного примітива.

Графічним об’єктом називається совокупність примітивів , які мають однакові візуальні властивості та статус і ідентифікуються одним іменем. При формуванні графічного об’єкта відпадає необхідність в зміні режимів роботи графічного контролера (апаратних блоків), які відповідають за візуальні властивості.

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

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

Графічні елементи є синтаксичними об’єктами (опис графічних даних), в той час, як сегменти - семантичними (зв’язок графічних даних), наприклад, будівля, креслення.

Контрольні запитання.    

1.  Які структурні елементи зображень можливо вважати графічними примітивами?

2.  Чим відрізняються логічні примітиви від фізичних?

3.  Якими атрибутами задаються графічні примітиви?

4.  Чим обумовлено введення структурних одиниць типу графічний об’єкт, графічний сегмент?

     Зміст