Векторное представление заключается в описании элементов изображения математическими кривыми с указанием их цветов и заполняемости (например, круг и окружность – разные фигуры). Красный эллипс на белом фоне будет описан всего двумя математическими формулами – прямоугольника и эллипса соответствующих цветов, размеров и местоположения. Очевидно, такое описание займет значительно меньше места, чем в первом случае. Еще одно преимущество – качественное масштабирование в любую сторону. Увеличение или уменьшение объектов производится увеличением или уменьшением соответствующих коэффициентов в математических формулах. К сожалению векторный формат становится невыгодным при передаче изображений с большим количеством оттенков или мелких деталей (например, фотографий). Ведь каждый мельчайший блик в этом случае будет представляться не совокупностью одноцветных точек, а сложнейшей математической формулой или совокупностью графических примитивов, каждый из которых, является формулой. Это приводит к утяжелению файла. Кроме того, перевод изображения из растрового в векторный формат (например, программой Adobe Strime Line или Corel OCR-TRACE) приводит к наследованию последним невозможности корректного масштабирования в большую сторону. От увеличения линейных размеров количество деталей или оттенков на единицу площади больше не становится. Это ограничение накладывается разрешением вводных устройств (сканеров, цифровых фотокамер и др.).
begin
var a:=ArrRandom(15,10,30).Select(x->x+0.1); Write('A='); a.Println;
var b:=ArrRandom(12,10,30).Select(x->x+0.1); Write('B='); b.Println;
var c:=a.Intersect(b).ToArray;
Write('C='); c.Println;
a:=a.Except(c).ToArray; Write('A новый='); a.Println;
b:=b.Except(c).ToArray; Write('B новый='); b.Println
end.
Пример решения
A=15.1 25.1 29.1 24.1 16.1 29.1 18.1 13.1 10.1 12.1 10.1 13.1 14.1 18.1 24.1
B=24.1 10.1 23.1 15.1 13.1 16.1 22.1 21.1 21.1 28.1 26.1 29.1
C=15.1 29.1 24.1 16.1 13.1 10.1
A новый=25.1 18.1 12.1 14.1
B новый=23.1 22.1 21.1 28.1 26.1