Починаючи працювати в редакторах, новачки можуть зіткнутися з таким поняттям, як "графічний примітив". Для роботи знання в цій області будуть дуже корисні. Що таке графічний примітив і як він використовується? Так називають простий або низькорівневий об'єкт, а також елементарну операцію. З їх допомогою можна побудувати більш складні об'єкти і здійснювати операції більш високого рівня. Примітиви в графічному редакторі — це базові елементи, такі як лінії, криві і полігони, які можуть бути об'єднані для створення більш складних графічних зображень. У програмуванні це основні операції, підтримувані мовою програмування. Для створення будь-якого креслення на комп'ютері такі графічні примітиви - це те, що утворює частину програмного забезпечення.
Використання примітивів в редакторах
Графіка в загалом сенсі складається з трьох основних елементів, на відміну від великого різноманіття графічних додатків: пікселя, лінії та полігону. Основна з цих елементарних структур — піксель. Графічні примітиви в графічному редакторі являють собою простий об'єкт, необхідний для створення або побудови складних зображень. Графіка в програмах для створення векторних зображень побудована на таких елементах, як точка, лінія і складаються з них прості фігури. Це коло, трикутник і квадрат, які також можна назвати полігонами. Тому найчастіше при роботі в графічному редакторі називаються примітивами саме ці прості фігури. Для растрової графіки таким елементом буде піксель.
Що таке піксель?
Піксель — це графічний примітив, який є точкою світла. Це всього лише одна маленька точка, частину растрового зображення. Хоча він не має структури, але, безумовно, є будівельним блоком. Отже, піксель — графічний примітив. Дозвіл ЕПТ-моніторів пов'язано з розміром цієї точки і її діаметром, яке може змінюватися. Відношення відстані між центрами двох сусідніх горизонтальних пікселів до відстані між вертикальними називається співвідношенням пікселів. Воно повинно враховуватися в алгоритмах, генеруючих зображення.
Дисплейний файл і кадровий буфер
Графічним примітивом є також програмне забезпечення, за допомогою якого на екран виводиться певне зображення. Один з них — дисплейний файл. Він є масивом некорельованих даних або набором команд, які необхідні для правильної відтворення зображення на екрані. Масиви заповнюються на підставі даних списку, що зберігається в пам'яті. В результаті їх обробки на ЕПТ-моніторі створюється картинка, яка складається з пікселів різного кольору. Кадровим буфером називають пристрій для зберігання і виведення відео на екран. Зазвичай це пристрій або вид пам'яті, яка зберігає кілька кадрів відеозображення. Зображення знаходиться в пам'яті у вигляді масиву даних, де записані послідовні значення кольору кожного пікселя.
Управління дисплеєм і дисплейний процесор
Система управління дисплеєм дозволяє управляти видом зображення на екрані і допомагає користувачеві переглядати його під потрібним кутом або змінювати розмір, зменшуючи і збільшуючи його. Дисплейний процесор в цей час прочитує дані з буфера і перетворює їх в картинку. Він може повторювати цю дію близько 30 разів на секунду, щоб зберігати зображення на екрані. Для відновлення зображення потрібно змінити вміст буфера.
Графічні редактори
Графічне програмне забезпечення — це програма або набір програм, які дозволяють керувати візуальними зображеннями в комп'ютерній системі. Існує два типу графіки, а саме растрова і векторна. Растрова графіка, або растрове зображення — це структура даних з точковою матрицею, яка представляє в цілому прямокутну сітку пікселів. Векторна графіка використовує геометричні примітиви. Що таке графічний примітив у векторній графіці, вже говорилося вище. Це точки, лінії, криві і багатокутники (або полігони) або векторні зображення. Такі фігури засновані на математичних виразах, для представлення зображень в комп'ютерній графіці. Конвертувати векторну графіку в растрову досить просто, але з растрової у векторну набагато складніше. Деякі програми намагаються це зробити. У додаток до статичної графіку, є анімація і програмне забезпечення для редагування відео. Комп'ютерна графіка також може використовуватися іншим програмним забезпеченням для редагування, таких як Adobe Photoshop, Pizap, Microsoft Publisher, Picasa і т. д. Ще один варіант — це програми для анімації, і відеоредактори, такий як Windows Movie Maker.
Точки і лінії в графіку
Тепер, коли стало трохи зрозуміліше, що таке графічний примітив, уважніше розглянемо кожен з них. Почнемо з точок і ліній. Точки використовуються у всій графіку як будівельні блоки для більш складних фігур. Наприклад, трикутники створені за допомогою трьох точок, з'єднаних між собою. Іншим фундаментальним геометричним об'єктом в 2D-графіки є лінія. Для створення прямої лінії потрібні дві точки.
Лінія як примітив
Графічними примітивами є також і лінії, особливо прямі. Кожна з них являють собою основний будівельний блок для лінійних графіків, стовпчастих і кругових діаграм, двох - і тривимірних графіків математичних функцій, інженерних креслень і архітектурних планів. У комп'ютерній графіці пряма лінія настільки проста, що складно не вважати її зображення графічним примітивом. Прямі лінії в програмуванні можуть бути розроблені двома різними способами. Перший варіант називається структурним методом. Він визначає, які пікселі повинні бути встановлені перед малюванням лінії. Другий варіант — умовний метод, який враховує певні умови, щоб знайти потрібні пікселі.
Генерація ліній
Для того щоб зрозуміти, що таке графічний примітив, потрібно розібратися, як він створюється. У математиці та інформатиці існують спеціальні алгоритми, які є детальною інструкцією для виконання розрахунків. Алгоритми створено для розрахунку, обробки даних і їх автоматизованого аналізу. Для того щоб намалювати лінії на екрані комп'ютера, використовується так званий алгоритм Брезенхэма. Він визначає, як найкраще побудувати лінію, і формує оптимальний варіант створення прямої лінії між двома заданими точками, зафарбовуючи певні пікселі на моніторі.
Алгоритм був розроблений ще в 1962 році і досі актуальний. Він використовує тільки цілочисельне додавання, віднімання та зсув бітів, коли цифри переміщуються або зсуваються вліво або вправо. Всі вони є дуже дешевими операціями в стандартних комп'ютерних архітектур. Це один з найбільш ранніх алгоритмів, розроблених в області комп'ютерної графіки. Незначне розширення вихідного алгоритму також стосується малювання кіл.
Цифровий диференціальний аналізатор
Інший алгоритм - цифровий диференціальний аналізатор - являє собою алгоритм генерації відрізка, заснований на обчисленні або dy, або dx. Для цього потрібно спроектувати лінію на одиничні інтервали в одній координаті і визначити відповідні значення цілого числа, найближчі до шляху лінії, для іншої координати. Алгоритм приймає в якості вхідних даних дві позиції пікселів на кінцях відрізка. Горизонтальні і вертикальні відмінності між позиціями кінцевих точок призначаються параметрами dx і dy. Різниця з більшою величиною визначає збільшення кроків параметра. Починаючи з положення пікселя визначається зсув, необхідне на кожному кроці, для створення такого положення пікселя вздовж лінії.
Полігони або багатокутники
Примітивами у векторному графічному редакторі є полігони, або багатокутники. Це замкнута область зображення, обмежена прямими або вигнутими лініями і заповнена одним суцільним кольором. Примітивами в графічному редакторі називаються двовимірні фігури, тому багатокутник являє собою замкнуту плоску фігуру. Полігон є важливим графічним примітивом. З ним поводяться як з єдиним цілим, так як зображення об'єктів з реального світу складаються переважно з частини багатокутників.
Полігони, або багатокутники, що використовуються в комп'ютерній графіці для створення зображень, які здаються тривимірними. Зазвичай трикутні полігони застосовують при моделюванні поверхні об'єкта, вибираючи вершини і візуалізуючи об'єкт як моделі з дроту. Це швидше для створення об'ємного зображення, ніж опрацювання тіней. Також використання полігонів є одним з етапів у процесі проектування комп'ютерної анімації.
Заповнення полігонів
Заповнення багатокутників необхідно для того, щоб розглянути всю область при візуалізації зображення. Якщо він не заповнений, будуть отрисованы тільки точки по периметру полігону, а внутрішня частина залишиться порожньою. При заповненні полігону враховується його внутрішня частина. Всі пікселі в межах полігону заливаються заданим кольором або візерунком. Щоб визначити, які пікселі знаходяться всередині полігону, а який знаходиться зовні, використовуються різні алгоритми.