Ве́кторная гра́фика
Ве́кторная гра́фика — способ представления графических объектов и изображений (формат описания) в компьютерной графике, основанный на математическом описании элементарных геометрических объектов, обычно называемых примитивами, таких как: точки, линии, сплайны, кривые Безье, круги, окружности, эллипсы, многоугольники.
Объекты векторной графики описываются совокупностью координат, параметров и атрибутов.
Термин «векторная графика» используется для подчёркивания отличий от растровой графики, в которой изображение представлено в виде графической матрицы, состоящей из пикселей.
При выводе на матричные устройства отображения (мониторы, механические устройства — принтеры, и пр.) векторная графика предварительно преобразуется в растровую графику, преобразование производится программно или аппаратно средствами современных видеокарт. Для плоттеров и векторных мониторов преобразование из векторного в растровый формат не требуется, так как в таких устройствах примитивы строятся перемещением пера или электронного луча.
Математически векторная графика основана на аналитической геометрии. В векторной графике примитивы описываются совокупностью координат опорных точек, параметрами примитива, к которым относятся например, исходные координаты, коэффициенты масштабирования, повороты, коэффициенты растяжения по осям. К атрибутам относят цвет и тип цветовой заливки областей, толщину и цвет линий.
В анимированной векторной графике при отображении на устройстве вывода координаты, атрибуты и параметры могут динамически изменяться во времени по заданным функциям от времени, создавая движущееся изображение.
Рассмотрим, к примеру, описание такого графического примитив, как окружность радиуса r. Для её построения необходимо задание следующих исходных данных:
Координаты центра окружности.
Значение радиуса.
Цвет и/или текстура заливки (если окружность построена для отображения круга).
Цвет и толщина линии контура в случае задания контура.
Прозрачность заливки и контура.
Порядок плана относительно других примитивов впереди, сзади (передний план, задний план). При отображении примитивы и объекты выводятся на устройство отображения последовательно и позднее выведенные объекты закрывают или накладываются на ранее выведенные объекты.
Координаты центра и радиус являются обязательными параметрами, остальные данные из описания окружности часто называют атрибутами и могут быть опущены. В этом случае при графическом выводе они заменяются атрибутами по умолчанию или текущими атрибутами.
Пример описания красного круга с координатами центра 79; 77, радиуса 20 с чёрным контуром толщиной 1 на языке XML (используемого в формате SVG, рекомендованном для применения в Википедии):
Объём данных, занимаемый описанием примитивов не зависит от реальной линейной величины описываемого объекта, что позволяет описать сколько угодно большой объект файлом минимального размера. Например, для описания окружности произвольного радиуса требуется указание только 3 чисел, если исключить атрибуты.
Так как информация об объекте хранится в числовой форме, можно бесконечно увеличивать изображение при выводе на устройство отображения, например, дуга окружности останется гладкой при любом увеличении. С другой стороны, если кривая описана в виде ломаной линии, состоящей из большого количества отрезков, то при невысоком увеличении она может выглядеть гладкой, однако при большом увеличении можно увидеть, что она на самом деле является ломаной.
Описание объектов хранится в численном виде и может быть легко изменено. Поэтому перемещение, масштабирование, вращение, заливка и т. д. не ухудшает качества изображения. В графических векторных форматах обычно указывают размеры в аппаратно-независимых единицах (англ. device-independent unit), что позволяет улучшить качество изображения при растеризации для растровых устройств отображения.
Не каждое изображение может быть компактно описана в векторном виде — для высокого подобия к оригинальному изображению может потребоваться описание очень большого количества примитивов, что требовательно к объёму памяти, занимаемой изображением и на время необходимое для преобразования его в растровый формат для графического вывода на растровые устройства отображения.
Перевод векторной графики в растровое изображение алгоритмически достаточно прост. Но обратное преобразование, как правило, сложно — этот преобразование называют трассировкой растрового изображения и зачастую требует значительных вычислительных мощностей и процессорного времени, и не всегда обеспечивает высокое качество полученного векторного изображения.
Спецификации векторных форматов (и, соответственно, рендереры векторной графики) намного сложнее таковых для растровой графики.
Преимущество векторной картинки — масштабируемость — пропадает, когда изображение в векторном формате отображается в растре малого разрешения (например, в виде иконки 32×32 или 16×16). Чтобы не было «грязи», картинку под такие разрешения приходится редактировать вручную. В растеризаторах векторных шрифтов, например, TrueType применяются довольно сложные алгоритмы хинтинга, позволяющие при уменьшении избавиться от пропущенных (и, наоборот, излишне толстых) линий в изображениях символов.
Этот список примитивов неполон. Есть разные типы кривых (Catmull-Rom сплайны, NURBS и т. д.), которые используются в различных приложениях. Также возможно рассматривать растровое изображение как примитивный объект, описанные как прямоугольник со сложной текстурой.
Векторные графические редакторы, типично, позволяют вращать, перемещать, отражать, растягивать, перекашивать, т. е. выполнять все аффинные преобразования над объектами, изменять порядок следования и комбинировать примитивы в составные объекты.
Также используются более изощрённые преобразования, например, булевы операции применённые к замкнутым фигурам как множествам точек, принадлежащих данным фигурам: объединение, дополнение, пересечение как показано на рисунке и т. д.
Векторная графика предпочтительна для простых или составных рисунков, которые должны быть аппаратно-независимыми или не нуждаются в фотореализме. К примеру, такие форматы как PostScript и PDF используют модель векторной графики.
Векторная графика – это метод создания компьютерного изображения, которое строится посредством обработки математического описания в специальном программном обеспечении. В отличие от растрового рисунка, который представляет набор пикселей разных цветов, векторное изображение – это набор примитивов (линий, кривых, квадратов, кругов), описанных математическими формулами. Рисунок формируется в виде файла, который содержит данные о координатах точек и о линии, пересекающей опорные точки. Кроме этого, файл включает информацию о примененных эффектах.
Такой принцип построения цифрового изображения обеспечивает возможность его масштабирования, изменения размера без снижения качества, изменения формы и перегруппировки примитивов для создания новых рисунков на базе исходных объектов. Кроме этого, такой файл занимает намного меньше места по сравнению с растровым, в котором содержится значительный объем сведений, включая данные о каждом пикселе, его координатах, цвете и других параметрах.
Где используется векторная графика
Учитывая, что такое векторная графика, понятно, что область ее применения включает разные сферы, где важно получать графические изображения высокой степени точности, которые можно изменять и масштабировать с сохранением высокого качества.
К основным сферам применения вектора относятся такие отрасли:
рекламное производство;
полиграфическое производство;
архитектура и проектирование;
составление чертежей, схем, карт;
печатные издания и т.д.
Кроме этого, возможности вектора используют и во многих других отраслях.
Программное обеспечение для работы с векторной графикой
Обработка векторных картинок и схем осуществляется специальным ПО. К наиболее распространенным программам относятся: AutoCAD, Adobe Illustrator, Adobe FreeHand, Adobe InDesign, Corel Draw, ArchiCAD.
Наиболее распространенные векторные форматы – это:
EPS – самый распространенный формат, разработанный Adobe на языке PostScript, поддерживаемый большинством специальных программ.
DWG – формат известный всем инженерам и проектировщикам, разработанный Autodesk, применяемый в универсальной чертёжной программе AutoCAD. Несовместимость ранних и поздних версий. Может быть открыт в Corel Draw.
CDR – формат, разработанный для редактора Corel Draw. Не совместим с другими форматами и собственными ранними версиями.
AI – файлы, которые создаются редактором Adobe Illustrator. Возможна несовместимость ранних и поздних версий.
FLA – рабочий формат Adobe Flash, ориентированный на анимацию. Использование языка Action Script позволяет создавать управляемые сценарии.
SVG – формат, основанный на языке разметки XML. По структуре это текстовый файл, что дает возможность редактировать векторные файлы в текстовом редакторе. Управление атрибутами изображения возможно при помощи таблицы стилей CSS. Имеется поддержка анимации.
SWF – формат для программы Flash Player. Позволяет работать с анимацией.
Достоинства и недостатки векторной графики
К числу основных плюсов векторных изображений относятся такие особенности:
Сравнительно малый размер файлов при умеренной или небольшой сложности и детализации картинок. Объем может существенно возрастать при увеличении количества и сложности деталей.
Возможность простого редактирования и масштабирования изображений, вращения, растягивания, перемещения и других операций без ухудшения качества.
Универсальность. Созданный один раз в векторном формате файл можно использовать для разных носителей и целей, не подвергая его существенным изменениям. Это может быть и небольшая картинка на сайте, и полноразмерный баннер наружной рекламы. Не требуется каждый раз отрисовывать изображение заново, как это приходится делать при работе с растровой графикой.
Простой перевод векторного формата в растровый. Обратный перевод осуществляется намного сложнее.
Возможность выполнения операций сложения, вычитания, пересечения, дополнения над объектами.
Сравнительно простое освоение навыков работы с векторными рисунками.
Помимо преимуществ у векторной графики есть и недостатки. Основные минусы этого способа обработки изображений состоят в следующем:
Технические ограничения использования. Векторный формат не позволяет делать изображения повышенной сложности со значительным числом деталей и с градиентами. Технически такая возможность есть, но итоговые файлы будут слишком большими, что лишает работу смысла.
Отсутствие поддержки вектора техникой – камерами, фотоаппаратами, сканерами и т.д. Вся эта аппаратура выполняет создание графики в растровом формате.
Проблемы с совместимостью между отдельными форматами и программным обеспечением для работы с векторной графикой. Они часто вступают в конкуренцию друг с другом. В результате при использовании «не родного» софта не удается получить качественное изображение без дефектов.
Повышенные системные требования к компьютеру при отрисовке сложных изображений. Это связано с тем, что в файле размещены только координаты. Отрисовка же выполняется после его открытия, что может требовать значительных ресурсов.
Повышенная сложность и трудоемкость создания изображений в высоком качестве.
Ограничения на использование эффектов. Принцип формирования векторной графики не позволяет использовать многие эффекты, градиенты, тени.
Do'stlaringiz bilan baham: |