Векторна графіка

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

Ве́кторна гра́фіка (також геометричне моделювання або об'єктно-орієнтована графіка) — створення зображення в комп'ютерній графіці з сукупності геометричних примітивів — (точок, ліній, кривих, полігонів), тобто об'єктів, які можна описати математичними виразами.[1]

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

Огляд[ред.ред. код]

Сучасні дисплеї можна вважати плоскою мережею точок, які можуть бути пофарбовані в різні кольори. Точки називаються пікселями (англ. picture elements). Чим менше розмір точок, та чим щільніше вони розташовані, то тим якіснішим буде зображення, але очевидно, що розмір файлу, який містить опис зображення буде пропорційний якості зображення.

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

В комп'ютерній типографії сучасні шрифти (гліфи) описуються алгебраїчними кривими другого або третього степеня з контрольними точками. Також використовуються растрові шрифти. Отримання растрового шрифту по векторному опису — не тривіальна задача. Наприклад, треба уникнути «зубчатості».

На початку комп'ютерної епохи в 1950 році а також в 1980, використовувались різні типи відображення векторної графічної системи. В цих системах електронне ядро ЕПТ монітора направлялось прямо щоб намітити необхідну форму, лінійний сегмент як лінійний сегмент, залишок екрану при цьому відображається чорним. Цей процес повторювався багато разів на секунду щоб уникнути блимання картинки. Ця система дозволяє відображати лінійне зображення з дуже високою роздільною здатністю, і переміщати зображення, які є показані без (на цей час) немислимо величезної кількості пам'яті, яка була б потрібна системі растрово-еквівалентного рішення. Ці засновані на векторі монітори були також відомі як X-Y displays.

Оригінальна фотографія, JPEG растрового зображення.
Steam Locomotive 7646 як векторне зображення, спочатку Windows Metafile (переведенний в GIF щоб показати тут).

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

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

Термін векторна графіка використовується в основному в контексті двомірної комп'ютерної графіки.

Спосіб зберігання зображення[ред.ред. код]

Розглянемо приклад кола радіуса r. Список інформації, необхідної для повного опису кола, такий:

  1. радіус r;
  2. координати центру кола;
  3. колір і товщина контура (можливо прозорий);
  4. колір заповнення (можливо прозорий).

Переваги цього способу опису графіки над растровою графікою:

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

До недоліків варто віднести, що не кожен об'єкт може бути легко зображений у векторному вигляді. Крім того, кількість пам'яті і часу на відображення залежить від числа об'єктів і їх складності.

Порівняння векторного способу опису графіки з растровим[ред.ред. код]

Переваги векторного способу[ред.ред. код]

  • Розмір файла, який займає описова частина, не залежить від реальної величини об'єкта, що дозволяє, використовуючи мінімальну кількість інформації, описати достатньо великий об'єкт файлом мінімального розміру.
  • У зв'язку з тим, що інформація про об'єкт зберігається в описовій формі, можна нескінченно збільшити графічний примітив, наприклад, дугу кола, і вона залишиться гладкою. З іншого боку, якщо крива представлена у вигляді ламаної лінії, збільшення покаже, що крива не є гладкою.
  • Параметри об'єктів зберігаються і можуть бути легко змінені. Також це означає, що переміщення, масштабування, обертання та інше, не погіршує якості малюнка. Більш того, зазвичай вказують розміри в апаратно-незалежних одиницях (англ. device-independent unit), які ведуть до найкращої растерізації на растрових приладах.
  • При збільшенні або зменшенні об'єктів товщина ліній може бути задана постійною величиною, незалежно від реального контуру.

Недоліки векторної графіки[ред.ред. код]

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

Типові примітивні об'єкти[ред.ред. код]

Цей список неповний. Є різні типи кривих (Catmull-rom сплайни, NURBS і так далі), які використовуються в різних випадках.

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

Векторні операції[ред.ред. код]

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

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

Векторна графіка ідеальна для простих або складених малюнків, які мають бути апаратно-незалежними або не потребують фото-реалізму. Наприклад, Postscript і PDF використовують модель векторної графіки.

Програми векторної графіки[ред.ред. код]

Комерційні[ред.ред. код]

Англійська компанія Xara Limited відкрила вихідні тексти своєї комерційної програми Xara Xtreame організувавши проект Xara LX який має за мету перенести свою програму на інші апаратні та операційні платформи.

Програми з відкритим програмним кодом[ред.ред. код]

Див. також[ред.ред. код]

Примітки[ред.ред. код]