Ве́кторная гра́фика — способ представления объектов и изображений в компьютерной графике, основанной на использовании элементарных геометрических объектов, таких как: точки, линии, сплайны и многоугольники. Объекты векторной графики являются графическими изображениями математических функций.

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

Для создания изображения векторного формата, отображаемого на растровом устройстве, используются преобразователи, программные или аппаратные (встроенные в видеокарту).

Термин «векторная графика» используется в основном в контексте двумерной компьютерной графики.

Способ хранения изображения

Рассмотрим, к примеру, такой графический примитив, как окружность радиуса r. Для её построения необходимо и достаточно следующих исходных данных:

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

Преимущества векторного способа описания графики над растровой графикой

  • Размер, занимаемый описательной частью, не зависит от реальной величины объекта, что позволяет, используя минимальное количество информации, описать сколько угодно большой объект файлом минимального размера.
  • В связи с тем, что информация об объекте хранится в описательной форме, можно бесконечно увеличить графический примитив, например, дугу окружности, и она останется гладкой. С другой стороны, если кривая представлена в виде ломаной линии, увеличение покажет, что она на самом деле не кривая.
  • Параметры объектов хранятся и могут быть легко изменены. Также это означает что перемещение, масштабирование, вращение, заполнение и т. д. не ухудшает качества рисунка. Более того, обычно указывают размеры в аппаратно-независимых единицах (англ. device-independent unit), которые ведут к наилучшей возможной растеризации на растровых устройствах.
  • При увеличении или уменьшении объектов толщина линий может быть задана постоянной величиной, независимо от реального контура.

Фундаментальные недостатки векторной графики

  • Не каждый объект может быть легко изображен в векторном виде — для подобного оригинальному изображению может потребоваться очень большое количество объектов с высокой сложностью, что негативно влияет на количество памяти, занимаемой изображением, и на время для его отображения (отрисовки).
  • Перевод векторной графики в растр достаточно прост. Но обратного пути, как правило, нет — трассировка растра, при том что требует значительных вычислительных мощностей и времени, не всегда обеспечивает высокое качество векторного рисунка.
  • При этом спецификации векторных форматов (и, соответственно, рендереры векторной графики) намного сложнее таковых для растровой графики.
  • Преимущество векторной картинки — масштабируемость — пропадает, когда начинаем иметь дело с особо малыми разрешениями графики (например, иконки 32×32 или 16×16). Чтобы не было «грязи», картинку под такие разрешения приходится подгонять вручную. В векторных шрифтах TrueType есть довольно сложные коды хинтинга, позволяющие избавиться от пропущенных (и, наоборот, излишне толстых) линий.

Типичные примитивные объекты

  • Линии и ломаные линии.
  • Многоугольники.
  • Окружности и эллипсы.
  • Кривые Безье.
  • Безигоны.
  • Текст (в компьютерных шрифтах, таких как TrueType, каждая буква создаётся из кривых Безье).

Этот список неполон. Есть разные типы кривых (Catmull-Rom сплайны, NURBS и т. д.), которые используются в различных приложениях.

Также возможно рассматривать растровое изображение как примитивный объект, ведущий себя как прямоугольник.

Векторные операции

Векторные графические редакторы, типично, позволяют вращать, перемещать, отражать, растягивать, скашивать, выполнять основные аффинные преобразования над объектами, изменять z-order и комбинировать примитивы в более сложные объекты.

Более изощрённые преобразования включают булевы операции на замкнутых фигурах: объединение, дополнение, пересечение и т. д.

Векторная графика идеальна для простых или составных рисунков, которые должны быть аппаратно-независимыми или не нуждаются в фотореализме. К примеру, PostScript и PDF используют модель векторной графики.

Некоторые редакторы векторной графики

  • Свободное программное обеспечение: Inkscape, Alchemy, Xara Xtreme, SK1, Scribus.
  • Проприетарное программное обеспечение: CorelDRAW, Adobe Illustrator, Adobe Fireworks.

Форматы файлов векторной графики

  • SVG
  • CDR
  • CGM
  • DXF
  • OpenVG
  • GXL
  • WMF
  • EPS
  • AI