7. Векторная графика
Векторная графика — это использование геометрических примитивов, таких как точки, линии, сплайны и многоугольники, для представления изображений в компьютерной графике.
Современные компьютерные видеодисплеи отображают информацию в растровом формате. Для отображения векторного формата на растровом используются преобразователи, программные или аппаратные, встроенные в видеокарту. Кроме этого, существует узкий класс устройств, ориентированных исключительно на отображение векторных данных. К ним относятся мониторы с векторной развёрткой, графопостроители, а также некоторые типы лазерных проекторов.
Способ хранения изображения
Рассмотрим, к примеру, окружность радиуса r. Список информации, необходимой для полного описания окружности, таков:
- радиус r;
- координаты центра окружности;
- цвет и толщина контура (возможно прозрачный);
- цвет заполнения (возможно прозрачный).
Преимущества этого способа описания графики над растровой графикой:
- Минимальное количество информации передаётся намного меньшему размеру файла (размер не зависит от величины объекта).
- Соответственно, можно бесконечно увеличить, например, дугу окружности, и она останется гладкой. С другой стороны, если кривая представлена в виде ломаной линии, увеличение покажет, что она на самом деле не кривая.
- При увеличении или уменьшении объектов толщина линий может быть постоянной.
- Параметры объектов хранятся и могут быть изменены. Это означает, что перемещение, масштабирование, вращение, заполнениеи т. д. не ухудшат качества рисунка.
У векторной графики есть два фундаментальных недостатка.
- Не каждый объект может быть легко изображен в векторном виде. Кроме того, количество памяти и времени на отображение зависит от числа объектов и их сложности.
- Перевод векторной графики в растр достаточно прост. Но обратного пути, как правило, нет — трассировка растра обычно не обеспечивает высокого качества векторного рисунка.
Типичные примитивные объекты:
- Линии и ломаные линии.
- Многоугольники.
- Окружности и эллипсы.
- Кривые Безье.
- Безигоны.
- Текст (в компьютерных шрифтах, таких как TrueType, каждая буква создаётся из кривых Безье).
Векторные операции
Векторные графические редакторы, типично, позволяют вращать, перемещать, отражать, растягивать, скашивать, выполнять основные аффинные преобразования над объектами, изменять z-order и комбинировать примитивы в более сложные объекты.
Более изощрённые преобразования включают булевы операции на замкнутых фигурах: объединение, дополнение, пересечение и т. д.
Векторная графика идеальна для простых или составных рисунков, которые должны быть аппаратно-независимыми или не нуждаются в фотореализме. К примеру, PostScript и PDF используют модель векторной графики.