Векторное представление заключается в описании элементов изображения математическими кривыми с указанием их цветов и заполняемости (например, круг и окружность – разные фигуры). Красный эллипс на белом фоне будет описан всего двумя математическими формулами – прямоугольника и эллипса соответствующих цветов, размеров и местоположения. Очевидно, такое описание займет значительно меньше места, чем в первом случае. Еще одно преимущество – качественное масштабирование в любую сторону. Увеличение или уменьшение объектов производится увеличением или уменьшением соответствующих коэффициентов в математических формулах. К сожалению векторный формат становится невыгодным при передаче изображений с большим количеством оттенков или мелких деталей (например, фотографий). Ведь каждый мельчайший блик в этом случае будет представляться не совокупностью одноцветных точек, а сложнейшей математической формулой или совокупностью графических примитивов, каждый из которых, является формулой. Это приводит к утяжелению файла. Кроме того, перевод изображения из растрового в векторный формат (например, программой Adobe Strime Line или Corel OCR-TRACE) приводит к наследованию последним невозможности корректного масштабирования в большую сторону. От увеличения линейных размеров количество деталей или оттенков на единицу площади больше не становится. Это ограничение накладывается разрешением вводных устройств (сканеров, цифровых фотокамер и др.).
A(x1,y1)
B(x2,y2)
C(x3,y3)
program q;
var x1,x2,y1,y2,x3,y3:integer;
ab,ac,alp,bet,alfa,s:real;
begin
write('введите координаты точки A: ');
read(x1);
readln(y1);
write('введите координаты точки B: ');
read(x2);
readln(y2);
write('введите координаты точки C: ');
read(x3);
readln(y3);
ab:=sqrt(sqr(x2-x1)+sqr(y2-y1));
ac:=sqrt(sqr(x3-x1)+sqr(y3-y1));
alp:=arctan((y2-y1)/(x2-x1));
bet:=arctan((y3-y1)/(x3-x1));
alfa:=bet*2-alp;
s:=sin(alfa)*(ab*ac)/2;
writeln('площадь треугольника=',s);
readln
end.