
Методы обработки векторной графики
В качестве устройства
вывода векторных изображений могут
применяться плоттеры, графопостроители
и другие устройства, использующие
векторный способ формирования изображений.
Обработка двухмерной и трехмерной
графики и трехмерной графики имеют
много общего. Фактически в векторном
описании изображения отсутствует третья
координата —
.
Геометрические преобразования двухмерной графики.
Будем предполагать, что мы работаем в евклидовом пространстве, где имеется ортонормированная декартова система координат, в которой координатные оси взаимно ортогональны, а соответствующие им единичные отрезки имеют одинаковую длину. Тогда каждой точке изображения ставится в соответствие упорядоченная пара декартовых координат: их можно интерпретировать как двухмерный вектор, геометрически представляемый отрезком прямой линии из точки точку.
Общее изображение включает в себя целый ряд примитивов и сегментов, отличающихся друг от друга геометрией, местоположением, ориентацией, масштабом, цветом, яркостью и другими атрибутами.
С помощью операций преобразования можно выполнять следующие действия:
- синтезировать изображения из более мелких элементов (примитивов, сегментов);
- добавлять к существующему изображению новые элементы;
- увеличивать и уменьшать размеры рисунка;
- перемещать, вращать, копировать изображения;
- создавать движущиеся изображения.
Наиболее распространенными базовыми операциями по преобразованию векторных изображений являются:
- перенос (перемещение) примитивов, сегментов и изображений;
- масштабирование (увеличение или уменьшение размеров) изображения;
- поворот изображения или его выделенных элементов (вращение, изменение ориентации).
Эти операции называются аффинными преобразованиями. Различают двухмерные и трехмерные аффинные преобразования.
Двухмерные аффинные преобразования.
Рассмотрим двухмерные аффинные преобразования, применяемые при обработке векторной графики.
Перенос примитивов.
Перенос точки.
Пусть необходимо
осуществить перенос точки
с координатами
,
- приращение координаты
,
- приращение координаты
.
Тогда точка
с координатами
будет получена после переноса (рис. 1).
Рис. 1. Перенос точки
Новые координаты точки будут определяться соотношением
;
.
Аффинные преобразования обычно записываются в матричной форме:
;
;
.
Тогда
.
Перенос отрезка.
Перенос типа отрезка можно перенести, применяя предыдущие уравнения к каждой его точке. Все точки, принадлежащие отрезку, можно перенести путем перемещения начальной и конечной точек отрезка и последующего вычерчивания нового отрезка между получившимися в результате точками (рис. 2). Это справедливо также для масштабирования и поворота.
;
;
;
.
Рис. 2. Перенос отрезка
В матричной форме эти преобразования можно представить в следующем виде:
– исходный отрезок;
– полученный отрезок;
– вектор переноса.
Итоговый вид преобразования в векторной форме .
Масштабирование.
Масштабирование
выполняется умножением координат на
некоторые коэффициенты
,
.
Масштабирование точки.
Пусть дана точка .
Тогда в результате масштабирования получим следующие координаты:
;
;
;
.