Векторная графика

Ве́кторная гра́фика — способ представления графических объектов и изображений (формат описания) в компьютерной графике, основанный на математическом описании элементарных геометрических объектов, обычно называемых примитивами, таких как: точки, линии, сплайны, кривые Безье, круги, окружности, эллипсы, многоугольники.
Объекты векторной графики описываются совокупностью координат, параметров и атрибутов.
В векторной графике изображение создается формализировано в виде команд на построение изображения. Термин «векторная графика» используется для подчёркивания отличий от растровой графики, в которой изображение представлено неформализировано в виде массива пикселей.
При выводе на матричные устройства отображения (мониторы, механические устройства — принтеры, и пр.) векторная графика предварительно преобразуется в растровую графику, преобразование производится программно или аппаратно средствами современных видеокарт. Для плоттеров и векторных мониторов преобразование из векторного в растровый формат не требуется, так как в таких устройствах примитивы строятся перемещением пера или электронного луча.
Математически векторная графика основана на аналитической геометрии. В векторной графике примитивы описываются совокупностью координат опорных точек, параметрами примитива, к которым относятся например, исходные координаты, коэффициенты масштабирования, повороты, коэффициенты растяжения по осям. К атрибутам относят цвет и тип цветовой заливки областей, толщину и цвет линий.
В анимированной векторной графике при отображении на устройстве вывода координаты, атрибуты и параметры могут динамически изменяться во времени по заданным функциям от времени, создавая движущееся изображение.
Рассмотрим, к примеру, описание такого графического примитива, как окружность радиуса r. Для её построения необходимо задание следующих исходных данных:
Координаты центра и радиус являются обязательными параметрами, остальные данные из описания окружности часто называют атрибутами и могут быть опущены. В этом случае при графическом выводе они заменяются атрибутами по умолчанию или текущими атрибутами.
Пример описания красного круга с координатами центра 79; 77, радиуса 20 с чёрным контуром толщиной 1 на языке XML (используемого в формате SVG, рекомендованном для применения в Википедии):
Недостатками векторной графики являются:
Этот список примитивов неполон. Есть разные типы кривых (Catmull-Rom сплайны, NURBS и т. д.), которые используются в различных приложениях. Также возможно рассматривать растровое изображение как примитивный объект, описанные как прямоугольник со сложной текстурой.
Векторные графические редакторы, типично, позволяют вращать, перемещать, отражать, растягивать, перекашивать, т. е. выполнять все аффинные преобразования над объектами, изменять порядок следования и комбинировать примитивы в составные объекты.
Также используются более изощрённые преобразования, например, булевы операции применённые к замкнутым фигурам как множествам точек, принадлежащих данным фигурам: объединение, дополнение, пересечение как показано на рисунке и т. д.
Векторная графика предпочтительна для простых или составных рисунков, которые должны быть аппаратно-независимыми или не нуждаются в фотореализме. К примеру, такие форматы как PostScript и PDF используют модель векторной графики.