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

Поделись знанием:
Перейти к: навигация, поиск

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

Объекты векторной графики являются графическими изображениями математических объектов.

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

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





Обзор

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

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

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

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

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

Координаты центра и радиус являются обязательными параметрами, остальные данные из описания окружности часто называют атрибутами и в некоторых графических векторных редакторах опускаются. В этом случае при графическом выводе они заменяются атрибутами по умолчанию или текущими атрибутами.

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

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

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

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

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

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

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

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

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

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

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

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

Некоторые популярные форматы файлов векторной графики

  • SVG - формат, рекомендуемый для использования в Википедии.
  • CDR.
  • CGM.
  • DXF.
  • OpenVG.
  • GXL.
  • WMF.
  • EPS.
  • PDF.
  • AI.
  • SWF - формат для анимированной векторной графики.
  • DXE.
  • FLA.

См. также

Напишите отзыв о статье "Векторная графика"

Ссылки

  • Кариев Ч. А. , [www.intuit.ru/department/graphics/svg/ Масштабируемая векторная графика (Scalable Vector Graphics)] (бесплатный курс), 07.11.2007

Отрывок, характеризующий Векторная графика

– Злодей, что ж ты это делаешь? – прокричал хозяин, подбегая к кухарке.
В то же мгновение с разных сторон жалобно завыли женщины, испуганно заплакал ребенок и молча столпился народ с бледными лицами около кухарки. Из этой толпы слышнее всех слышались стоны и приговоры кухарки:
– Ой о ох, голубчики мои! Голубчики мои белые! Не дайте умереть! Голубчики мои белые!..
Через пять минут никого не оставалось на улице. Кухарку с бедром, разбитым гранатным осколком, снесли в кухню. Алпатыч, его кучер, Ферапонтова жена с детьми, дворник сидели в подвале, прислушиваясь. Гул орудий, свист снарядов и жалостный стон кухарки, преобладавший над всеми звуками, не умолкали ни на мгновение. Хозяйка то укачивала и уговаривала ребенка, то жалостным шепотом спрашивала у всех входивших в подвал, где был ее хозяин, оставшийся на улице. Вошедший в подвал лавочник сказал ей, что хозяин пошел с народом в собор, где поднимали смоленскую чудотворную икону.
К сумеркам канонада стала стихать. Алпатыч вышел из подвала и остановился в дверях. Прежде ясное вечера нее небо все было застлано дымом. И сквозь этот дым странно светил молодой, высоко стоящий серп месяца. После замолкшего прежнего страшного гула орудий над городом казалась тишина, прерываемая только как бы распространенным по всему городу шелестом шагов, стонов, дальних криков и треска пожаров. Стоны кухарки теперь затихли. С двух сторон поднимались и расходились черные клубы дыма от пожаров. На улице не рядами, а как муравьи из разоренной кочки, в разных мундирах и в разных направлениях, проходили и пробегали солдаты. В глазах Алпатыча несколько из них забежали на двор Ферапонтова. Алпатыч вышел к воротам. Какой то полк, теснясь и спеша, запрудил улицу, идя назад.
– Сдают город, уезжайте, уезжайте, – сказал ему заметивший его фигуру офицер и тут же обратился с криком к солдатам:
– Я вам дам по дворам бегать! – крикнул он.
Алпатыч вернулся в избу и, кликнув кучера, велел ему выезжать. Вслед за Алпатычем и за кучером вышли и все домочадцы Ферапонтова. Увидав дым и даже огни пожаров, видневшиеся теперь в начинавшихся сумерках, бабы, до тех пор молчавшие, вдруг заголосили, глядя на пожары. Как бы вторя им, послышались такие же плачи на других концах улицы. Алпатыч с кучером трясущимися руками расправлял запутавшиеся вожжи и постромки лошадей под навесом.
Когда Алпатыч выезжал из ворот, он увидал, как в отпертой лавке Ферапонтова человек десять солдат с громким говором насыпали мешки и ранцы пшеничной мукой и подсолнухами. В то же время, возвращаясь с улицы в лавку, вошел Ферапонтов. Увидав солдат, он хотел крикнуть что то, но вдруг остановился и, схватившись за волоса, захохотал рыдающим хохотом.
– Тащи всё, ребята! Не доставайся дьяволам! – закричал он, сам хватая мешки и выкидывая их на улицу. Некоторые солдаты, испугавшись, выбежали, некоторые продолжали насыпать. Увидав Алпатыча, Ферапонтов обратился к нему.
– Решилась! Расея! – крикнул он. – Алпатыч! решилась! Сам запалю. Решилась… – Ферапонтов побежал на двор.
По улице, запружая ее всю, непрерывно шли солдаты, так что Алпатыч не мог проехать и должен был дожидаться. Хозяйка Ферапонтова с детьми сидела также на телеге, ожидая того, чтобы можно было выехать.
Была уже совсем ночь. На небе были звезды и светился изредка застилаемый дымом молодой месяц. На спуске к Днепру повозки Алпатыча и хозяйки, медленно двигавшиеся в рядах солдат и других экипажей, должны были остановиться. Недалеко от перекрестка, у которого остановились повозки, в переулке, горели дом и лавки. Пожар уже догорал. Пламя то замирало и терялось в черном дыме, то вдруг вспыхивало ярко, до странности отчетливо освещая лица столпившихся людей, стоявших на перекрестке. Перед пожаром мелькали черные фигуры людей, и из за неумолкаемого треска огня слышались говор и крики. Алпатыч, слезший с повозки, видя, что повозку его еще не скоро пропустят, повернулся в переулок посмотреть пожар. Солдаты шныряли беспрестанно взад и вперед мимо пожара, и Алпатыч видел, как два солдата и с ними какой то человек во фризовой шинели тащили из пожара через улицу на соседний двор горевшие бревна; другие несли охапки сена.
Алпатыч подошел к большой толпе людей, стоявших против горевшего полным огнем высокого амбара. Стены были все в огне, задняя завалилась, крыша тесовая обрушилась, балки пылали. Очевидно, толпа ожидала той минуты, когда завалится крыша. Этого же ожидал Алпатыч.
– Алпатыч! – вдруг окликнул старика чей то знакомый голос.
– Батюшка, ваше сиятельство, – отвечал Алпатыч, мгновенно узнав голос своего молодого князя.
Князь Андрей, в плаще, верхом на вороной лошади, стоял за толпой и смотрел на Алпатыча.
– Ты как здесь? – спросил он.
– Ваше… ваше сиятельство, – проговорил Алпатыч и зарыдал… – Ваше, ваше… или уж пропали мы? Отец…
– Как ты здесь? – повторил князь Андрей.
Пламя ярко вспыхнуло в эту минуту и осветило Алпатычу бледное и изнуренное лицо его молодого барина. Алпатыч рассказал, как он был послан и как насилу мог уехать.
– Что же, ваше сиятельство, или мы пропали? – спросил он опять.
Князь Андрей, не отвечая, достал записную книжку и, приподняв колено, стал писать карандашом на вырванном листе. Он писал сестре:
«Смоленск сдают, – писал он, – Лысые Горы будут заняты неприятелем через неделю. Уезжайте сейчас в Москву. Отвечай мне тотчас, когда вы выедете, прислав нарочного в Усвяж».
Написав и передав листок Алпатычу, он на словах передал ему, как распорядиться отъездом князя, княжны и сына с учителем и как и куда ответить ему тотчас же. Еще не успел он окончить эти приказания, как верховой штабный начальник, сопутствуемый свитой, подскакал к нему.
– Вы полковник? – кричал штабный начальник, с немецким акцентом, знакомым князю Андрею голосом. – В вашем присутствии зажигают дома, а вы стоите? Что это значит такое? Вы ответите, – кричал Берг, который был теперь помощником начальника штаба левого фланга пехотных войск первой армии, – место весьма приятное и на виду, как говорил Берг.
Князь Андрей посмотрел на него и, не отвечая, продолжал, обращаясь к Алпатычу:
– Так скажи, что до десятого числа жду ответа, а ежели десятого не получу известия, что все уехали, я сам должен буду все бросить и ехать в Лысые Горы.
– Я, князь, только потому говорю, – сказал Берг, узнав князя Андрея, – что я должен исполнять приказания, потому что я всегда точно исполняю… Вы меня, пожалуйста, извините, – в чем то оправдывался Берг.
Что то затрещало в огне. Огонь притих на мгновенье; черные клубы дыма повалили из под крыши. Еще страшно затрещало что то в огне, и завалилось что то огромное.
– Урруру! – вторя завалившемуся потолку амбара, из которого несло запахом лепешек от сгоревшего хлеба, заревела толпа. Пламя вспыхнуло и осветило оживленно радостные и измученные лица людей, стоявших вокруг пожара.
Человек во фризовой шинели, подняв кверху руку, кричал:
– Важно! пошла драть! Ребята, важно!..
– Это сам хозяин, – послышались голоса.
– Так, так, – сказал князь Андрей, обращаясь к Алпатычу, – все передай, как я тебе говорил. – И, ни слова не отвечая Бергу, замолкшему подле него, тронул лошадь и поехал в переулок.


От Смоленска войска продолжали отступать. Неприятель шел вслед за ними. 10 го августа полк, которым командовал князь Андрей, проходил по большой дороге, мимо проспекта, ведущего в Лысые Горы. Жара и засуха стояли более трех недель. Каждый день по небу ходили курчавые облака, изредка заслоняя солнце; но к вечеру опять расчищало, и солнце садилось в буровато красную мглу. Только сильная роса ночью освежала землю. Остававшиеся на корню хлеба сгорали и высыпались. Болота пересохли. Скотина ревела от голода, не находя корма по сожженным солнцем лугам. Только по ночам и в лесах пока еще держалась роса, была прохлада. Но по дороге, по большой дороге, по которой шли войска, даже и ночью, даже и по лесам, не было этой прохлады. Роса не заметна была на песочной пыли дороги, встолченной больше чем на четверть аршина. Как только рассветало, начиналось движение. Обозы, артиллерия беззвучно шли по ступицу, а пехота по щиколку в мягкой, душной, не остывшей за ночь, жаркой пыли. Одна часть этой песочной пыли месилась ногами и колесами, другая поднималась и стояла облаком над войском, влипая в глаза, в волоса, в уши, в ноздри и, главное, в легкие людям и животным, двигавшимся по этой дороге. Чем выше поднималось солнце, тем выше поднималось облако пыли, и сквозь эту тонкую, жаркую пыль на солнце, не закрытое облаками, можно было смотреть простым глазом. Солнце представлялось большим багровым шаром. Ветра не было, и люди задыхались в этой неподвижной атмосфере. Люди шли, обвязавши носы и рты платками. Приходя к деревне, все бросалось к колодцам. Дрались за воду и выпивали ее до грязи.