отдельно менять параметры любой точки и эти изменения будут немедленно отображены
на экране монитора. Если же ЭЛТ имела координатную развертку, т.е. луч «умел»
двигаться по некоторой траектории (как правило, по отрезкам прямой), последовательно
обходя набор точек (вершин), то говорили о векторной графике, то есть графике вершин
(векторов
3
) и соединяющих их линий, когда можно говорить о цвете отдельной линии (в
простейшем случаеs— видима или нет), но никак не точки экрана. Векторные мониторы
имели широкое распространение там, где необходимо было выводить на экран четкие
чертежи (в том числе и трехмерные), ведь, как будет показано далее, в растровой графике
рисование линийs— одна из самых сложных проблем. Главными недостатками таких
мониторов, которые и привели к их практически полному исчезновению, были сложность
создания и невозможность отображения сплошных фигур.
В результате, на сегодняшний день вся графика является растровой, даже та,
которую называют векторной. Во всяком случае, в той части ее реализации, которая
начинается в видеопамяти и заканчивается на экране монитора. В чем же различие? В
способе хранения и обработки. Растровое изображение хранится и обрабатывается как
набор пикселей (или несколько наборов в случае нескольких плоскостей изображения,
что, впрочем, не меняет сути). К тому же, имеет смысл говорить только о плоском
растровом изображении. Векторное изображение хранится и обрабатывается как набор
графических примитивов, т.е. геометрических объектов, описанных аналитически.
Типичным примером графического примитива является треугольник, для которого
хранятся следующие атрибуты: координаты трех вершин (необязательно двумерные) и
цвет (текстура). Можно также хранить цвет каждого ребра треугольника.
Главным достоинством векторного способа обработки и хранения графической
информации (в дальнейшемs— векторной графики) является возможность легко работать
с любым элементом изображения. Не составляет никакого труда переместить, повернуть
или изменить в размерах как отдельный примитив, так и все изображение в целом, причем
операция не внесет искажений и будет обратима, чего нельзя сказать о растровом
изображении. В самом деле, в случае векторным изображением необходимо будет только
поменять координаты вершин треугольника, когда как в растровом придется по довольно
сложным алгоритмам добавлять недостающие пиксели (в случае растяжения) либо
убирать лишние (в случае сжатия), либо закрывать другие части изображения (в случае
поворота и переноса).
А недостатки? Они, как всегда, являются продолжением достоинств. Во-первых, в
силу того, что видеопамять и монитор работают с растровой графикой, для вывода на
экран необходимо произвести растеризацию изображения, т.е. преобразование в
пиксельную форму. Во-вторых, при каждом конкретном размере рисунка растровое
изображение всегда будет иметь лучшее качество, чем векторное. Приведем пример.
Пусть при помощи очень хорошего сканера нам удалось ввести в компьютер растровое
изображение картины «Мона Лиза» размером 2000х3000 точек. Предположим также, что
у нас есть очень хорошая программа для векторизации растровой картинки (а такие
программы есть, напримерs— “Corel Trace”). Полученное с помощью этой программы
изображение будет очень похоже на первоначальное, но в силу особенностей векторной
графики оно будет уступать ему по качеству (будут заметны резкие переходы в цвете от
примитива к примитиву, некоторая «угловатость» и т.д.). Однако, если мы теперь сожмем
оба изображения в десять раз (200х300 точек), разница будет менее заметна, возможно
даже, что векторный вариант будет более четким и узнаваемым. А уж если мы произведем
затем обратную операцию, растровое изображение вообще перестанет быть похожим на
оригинал, а векторное останется все тем же. Еще один пример, на этот раз из области игр.
Предположим, нам надо изобразить монстра на расстоянии десяти шагов от игрока.
Можно сделать безумно красивое изображение, задействовав каждый пиксель,
3
Вспомним, что с точки зрения многих разделов математики понятия точка A(x, y) и вектор