Достоинства векторной графики
Компьютерная графика
Виды компьютерной графики
Несмотря на то, что для работы с компьютерной графикой существует множество классов программного обеспечения, различают три вида компьютерной графики. Это растровая графика, векторная графика и фрактальная графика. Они отличаются принципами формирования изображения при отображении на экране монитора или при печати на бумаге. Растровую графикуприменяют при разработке электронных (мультимедийных) и полиграфических изданий. Иллюстрации, выполненные средствами растровой графики, редко создают вручную с помощью компьютерных программ. Чаще для этой цели сканируют иллюстрации, подготовленные художником на бумаге, или фотографии. В последнее время для ввода растровых изображений в компьютер нашли широкое применение цифровые фото- и видеокамеры. Соответственно, большинство графических редакторов, предназначенных для работы с растровыми иллюстрациями, ориентированы не столько на создание изображений, сколько на их обработку. В Интернете пока применяются только растровые иллюстрации.
Программные средства для работы с векторной графикойнаоборот предназначены, в первую очередь, для создания иллюстраций и к меньшей степени для их обработки. Такие средства широко используют в рекламных агентствах, дизайнерских бюро, редакциях и издательствах. Оформительские работы, основанные на применении шрифтов и простейших геометрических элементов, решаются средствами векторной графики намного проще. Программные средства для работы с фрактальной графикойпредназначены для автоматической генерации изображений путем математических расчетов. Создание фрактальной художественной композиции состоит не в рисовании или оформлении, а в программировании. Фрактальную графику редко применяют для создания печатных или электронных документов, но ее часто используют в развлекательных программах.
Растровая графика
Компьютер может обрабатывать только числа, поэтому рисунки должны быть представлены в цифровом виде, или, как принято говорить, закодированы. Для кодирования рисунок разбивают на небольшие одноцветные части. Все цвета, использованные в изображении, нумеруют, и для каждой части записывают номер ее цвета. Запомнив последовательность расположения частей и номер цвета для каждой части, можно однозначно описать любой рисунок. Однако количество цветов в природе бесконечно, и приходится похожие цвета нумеровать одинаковыми числами. В зависимости от количества используемых цветов, можно закодировать более или менее реалистичное изображение. Понятно, что, чем меньше цветов в рисунке, тем меньше номеров приходится использовать, и тем проще закодировать изображение.
В самом простом случае используется только черный и белый цвет. Для кодирования черно-белых рисунков достаточно двух цифр, а так как в вычислительной технике применяется двоичная система счисления, то кодирование монохромных изображений не представляет большой трудности.
Для черно-белого изображения (без полутонов) пиксель может принимать только два значения: белый и черный (светится – не светится), а для его кодирования достаточно одного бита памяти: 1 – белый, 0 – черный.
Пиксель – наименьший элемент изображения в растровой графике.
Чем больше пикселей в строке и по вертикали, тем выше разрешающая способность изображения на экране.
Пиксель на цветном дисплее может иметь различную окраску, поэтому одного бита на пиксель недостаточно. Для кодирования 4-цветного изображения требуются два бита на пиксель, поскольку два бита могут принимать 4 различных состояния. Может использоваться, например, такой вариант кодировки цветов: 00 – черный, 10 – зеленый, 01 – красный, 11 – коричневый.
Рисунки, закодированные описанным способом, называются растровыми изображениями, растрами или битмапами, от английского слова bitmap – набор бит. Части, на которые разбиваются изображения, и есть пиксели (pixel, от англ. picture element). Пиксели называют точками. Рисунок из множества пикселей можно сравнить с мозаикой. Из большого количества разноцветных камешков собирается произвольная картина.
Если для представления каждого пикселя в черно-белом рисунке достаточно одного бита, то для работы с цветом этого явно недостаточно. Однако подход при кодировании цветных изображений остается неизменным. Любой рисунок разбивается на пиксели, то есть небольшие части, каждая из которых имеет свой цвет. Например, рисунок можно разбить более чем на тысячу частей, или пикселей. Так как в рисунке присутствует больше двух цветов, каждая часть изображения будет представлена в памяти компьютера не одним, а несколькими битами. В зависимости от количества бит, отведенных для кодирования каждого пикселя, в изображении может присутствовать от двух до десятков миллионов цветов.
На один пиксель отводится 3 байта или 24 бита, поэтому этот режим называют 24-х разрядным. В этом режиме можно получить около 16,5 млн. цветовых оттенков. Оттенки цвета создаются из трёх базовых цветовых компонентов – красный, зелёный и синий.(red, green, blue) оттенок. На RGB-мониторах все разнообразие цветов получается сочетанием базовых цветов: красного (Red), зеленого (Green), синего (Blue), из которых можно получить 8 основных комбинаций:
R | G | B |
| ||
черный | |||||
синий | |||||
зеленый | |||||
голубой | |||||
красный | |||||
пурпурный | |||||
желтый | |||||
белый |
Один компонент оттенка имеет размер 1 байт и 256 уровней яркости от 0 (самый темный) до 255 (самый яркий).
Например,
черный цвет – (0, 0, 0) зеленый цвет – (0, 255, 0) красный цвет – (255, 0, 0)
синий цвет – (0, 0, 255) белый цвет– (255, 255, 255) золотистый – (191, 181, 85).
Растровые изображения достаточно широко используются в вычислительной технике. Фотографии и рисунки, введенные в компьютер, хранятся именно в виде растровых изображений. Большинство рисунков во всемирной компьютерной сети Интернет представляют собой растровые файлы. Имеется множество программ, предназначенных для работы с растровыми рисунками. Зная способ кодирования изображения, программа для работы с графикой может воспроизвести его на экране монитора или распечатать на принтере. С помощью специальных программ – графических редакторов – вы можете отредактировать изображение.
Растровые изображения обладают одним очень существенным недостатком: их трудно увеличивать или уменьшать, то есть масштабировать. При уменьшении растрового изображения несколько соседних точек преобразуются в одну, поэтому теряется разборчивость мелких деталей изображения. При увеличении – увеличивается размер каждой точки, поэтому появляется ступенчатый эффект. Кроме того, растровые изображения занимают много места в памяти и на диске.
Чтобы избежать указанных проблем, изобрели так называемый векторный способ кодирования изображений.
Paint; PhotoShop; PaintNET; Gimp; Graphity; CorelPhotoPaint.
Векторная графика
Принцип кодирования графической информации в векторной графике принципиально отличается от растровой. В векторной графике все изображения описываются в виде математических объектов – контуров. Каждый контур представляет собой независимый объект, который можно перемещать, масштабировать, изменять множество раз. Все линии определяются начальными точками и формулами, описывающими сами линии. Поэтому при изменении размера рисунка пропорции и очертания всегда точно выдерживаются. Векторную графику часто называют также объектно-ориентированной графикой, так как изображение состоит из отдельных объектов – прямых и кривых линий, замкнутых и разомкнутых фигур, прямоугольников, эллипсов и т. п., каждый из которых имеет свои характеристики цвета, толщины контура, стиля линии и т. д.
Набор графических примитивов (базовый алфавит).
1. Первая буква алфавита – линия.
В векторной графике основным элементом изображения является линия (при этом не важно, прямая это линия или кривая). Линия – это элементарный объект векторной графики. Все, что есть в векторной иллюстрации, состоит из линий. В основе векторной графики лежит, прежде всего, математическое представление линии. Давайте рассмотрим несколько видов линий, но начнем с точки.
Точка
Точка на плоскости задается двумя числами (х, у), определяющими ее положение относительно начала координат.
Прямая линия
Из курса алгебры известно, что для задания прямой линии достаточно двух параметров. Обычно график прямой линии описывается уравнением y = kx + b. Зная параметры k и b, всегда можно нарисовать бесконечную прямую линию в известной системе координат.
Отрезок прямой координаты х1 у1 и х2 у2
Для задания отрезка прямой надо знать еще пару параметров, например координаты х1 и х2 начала и конца отрезка, поэтому для описания отрезка прямой линии необходимы четыре параметра.
Разумеется, в растровой графике тоже существуют линии, но там они рассматриваются как комбинации точек. Для каждой точки линии в растровой графике отводится одна или несколько ячеек памяти (чем больше цветов могут иметь точки, тем больше ячеек им выделяется). Соответственно, чем длиннее растровая линия, тем больше памяти она занимает. В векторной графике объем памяти, занимаемый линией, не зависит от размеров линии, поскольку линия представляется в виде формулы, а точнее говоря в виде нескольких параметров. Что бы мы ни делали с этой линией, меняются только ее параметры, хранящиеся в ячейках памяти. Количество же ячеек остается неизменным для любой линии.
Мы сказали, что объекты векторной графики хранятся в памяти в виде набора параметров, но не надо забывать и о том, что на экран все изображения все равно выводятся в виде точек (просто потому, что экран так устроен). Перед выводом на экран каждого объекта программа производит вычисления координат экранных точек в изображении объекта, поэтому векторную графику иногда называют вычисляемой графикой. Аналогичные вычисления производятся и при выводе объектов на принтер.
Как и все объекты, линии имеют свойства. К этим свойствам относятся: форма линии, ее толщина, цвет, характер линии (сплошная, пунктирная и т. п.). Замкнутые линии имеют свойство заполнения. Внутренняя область замкнутого контура может быть заполнена цветом, текстурой. Простейшая линия, если она не замкнута, имеет две вершины, которые называются узлами.
Четырехугольник
Можно задавать как отрезки, но все же описывается как четырехугольник с параллельными краями. Если четырехугольник наклонен, то это уже 4 отрезка. Характеристики контура: координаты противоположных углов , толщина, тип, цвет. Кроме того, четырехугольник должен быть «замкнут».
3. Эллипс (окружность – частный вид эллипса). Координаты центра (х, у) и радиус.
Это есть различные виды кодирования. Можно описать эллипс с помощью уравнения, а можно с помощью описанного прямоугольника. Если через координаты описанного прямоугольника, то получится эллипс. Чтобы закодировать круг, не надо разбивать его на отдельные пиксели, а следует запомнить его радиус, координаты центра и цвет. У эллипса все те же атрибуты, что и у прямоугольника.
4. Дуга (кривая по уравнению). В математике есть дуга параболы. Кривая может представлять дугу на плоскости для отображения более сложных линий. Атрибутами здесь являются: уравнение, координаты концов, толщина, тип, цвет.
Чтобы нарисовать более сложный рисунок, применяют несколько простых фигур. Любое изображение в векторном формате состоит из множества составляющих частей, которые можно редактировать независимо друг от друга. Эти части называются объектами. Так как с помощью комбинации нескольких объектов можно создавать новый объект, объекты могут иметь достаточно сложный вид.
Размеры, кривизна и местоположение для каждого объекта, хранятся в виде числовых коэффициентов. Благодаря этому появляется возможность масштабировать изображения с помощью простых математических операций, в частности, простым умножением параметров графических элементов на коэффициент масштабирования. При этом качество изображения остается без изменений.
Используя векторную графику, можно не задумываться о том, готовите ли вы миниатюрную эмблему или рисуете двухметровый транспарант. Вы работаете над рисунком совершенно одинаково в обоих случаях. В любой момент вы можете преобразовать изображение в любой размер без потерь качества. Важным преимуществом векторного способа кодирования изображений является то, что размеры графических файлов векторной графики имеют значительно меньший размер, чем файлы растровой графики.
Векторная графика, как и растровая, способна отобразить любое изображение, но для сложных изображений векторная графика раздуется до больших объемов.
Нарисуем чертеж. Он состоит из 3 примитивов. Чертеж монохромный, т. к. на чертеже мы работаем толщиной, а не цветом. Он займет ≈ 45 байт. В векторном алфавите отрезок – 13 байт, прямоугольник – 15 байт, окружность – 15 байт.
Достоинства векторной графики
К достоинствам векторной графики, относится то, что она экономна в плане объемов дискового пространства, необходимого для хранения изображений.
Это связано с тем, что сохраняется не само изображение, а только некоторые основные данные, используя которые, программа всякий раз воссоздает изображение заново.
Кроме того, описание цветовых характеристик почти не увеличивает размера файла.
Объекты векторной графики легко трансформируются, причем практически без ущерба для качества изображения.
На примере этих двух изображений видно, что при увеличении размеров изображения не возникает искажений, пикселизации (в отличие от растрового формата) и объем занимаемый изображением не зависит от его размеров.
В тех областях графики, где принципиальное значение имеет сохранение ясных и четких контуров, например, в шрифтовых композициях, в создании логотипов и др., векторные программы незаменимы.
Векторная графика использует все преимущества разрешающей способности любого выводного устройства, например, принтера.
Изображение всегда будет выглядеть настолько качественно, насколько способно данное устройство.
CorelDraw; Adobe Illustrator; Visio; AutoCAD; Macromedia FreeHand.
Цветовые модели
RGB
Из школьного курса физики мы знаем, что солнечный свет можно разложить на отдельные цветовые составляющие. В то же время, собрав вместе в нужных пропорциях разноцветные лучи, мы получим луч белого цвета. Изменим немного пропорции – и у нас готов источник света заданного цвета. В телевизорах и компьютерных мониторах использует люминофор, который светится красным, зеленым и синим цветом. Смешивая эти три цвета можно получить разнообразные цвета и их оттенки. На этом и основана модель представления цвета RGB, названная так по начальным буквам входящих в нее цветов: Red – красный, Green – зеленый, Blue – синий. Это суммирующая модель. Она адекватна цветовому восприятию человеческого глаза. Поэтому построение изображения на экранах мониторов, в сканерах, цифровых камерах и других оптических приборах соответствует модели RGB.
Любой цвет в этой модели представляется тремя числами, описывающими величину каждой цветовой составляющей. В компьютерной технике цвет описывается кодом, состоящим из знака "#" и 6-ти позиций 16-ричных чисел (от 0 до F). Под каждую составляющую отводится по две позиции. Черный цвет образуется, когда интенсивность всех трех составляющих равна нулю (#000000), а белый – когда их интенсивность максимальна (#FFFFFF). Множество компьютерного оборудования работает с использованием модели RGB, кроме того, эта модель очень проста. Этим объясняется ее широкое распространение. К сожалению, в модели RGB теоретически невозможно получить некоторые цвета, например насыщенный сине-зеленый, поэтому работать с моделью цвета RGB не всегда удобно. Кроме того, модель RGB сильно связана с реализацией ее на конкретных устройствах. Поэтому в компьютерной графике используются и другие модели цвета.
CMYK
Большинство цветов, которые мы видим в окружающем нас мире, являются следствием отражения и поглощения света. Например, солнечный свет, падая на зеленую траву, частично поглощается, и отражается только его зеленая составляющая. При печати на принтере на бумагу наносится цветная краска, которая отражает только свет определенного цвета. Все остальные цвета поглощаются, или вычитаются из солнечного света. На эффекте вычитания цветов построена другая модель представления цвета, называемая CMYK. Эти буквы также взяты из названий используемых цветов: Cyan – голубой, Magenta – пурпурный, Yellow – желтый, blacK – черный. Строго говоря, Magenta не является пурпурным цветом. Точное название этого цвета – фуксин, но в компьютерной литературе и в программах принято называть этот цвет пурпурным. В разновидности этой модели, называемой CMY, отсутствует черный цвет, но она применяется значительно реже.
Выбор цветов для модели неслучаен, они тесно связаны с цветами модели RGB. Голубой цвет образуется при поглощении красного, пурпурный при поглощении синего. При нанесении большого количества красок разных цветов поглощается больше цвета и меньше отражается. Таким образом, при смешении максимальных значений этих трех цветов мы должны получить черный цвет, а при полном отсутствии краски должен получиться белый цвет. Однако в действительности при смешении трех красок получается грязно-бурый цвет, так как используемые реальные красители отражают и поглощают цвет не так, как описано в теории. Черный цвет получается только при добавлении черной краски, поэтому в модель CMYK и добавлена черная составляющая.
Система CMYK является вычитающей, широко применяется в полиграфии. Типографическое оборудование работает исключительно с этой моделью, да и современные принтеры тоже используют красители четырех цветов. При печати на бумагу наносятся несколько слоев прозрачной краски, и в результате мы получаем цветное изображение, содержащее миллионы различных оттенков.