Реферат: Вычисления площади произвольного многоугольника

BB1:=-(sd[1].x-sd[n].x);

CC1:=sd[n].y*(sd[1].x-sd[n].x)-sd[n].x*(sd[1].y-sd[n].y);

if Mline(sd[n].x, sd[n].y)*Mline(sd[1].x,sd[1].y)<0 then

if Sline(sd[a].x, sd[a].y)*Sline(sd[b].x,sd[b].y)<0 then exit;

cross:=false;

end;

4) Вычисление площадей отсеченных треугольников будем по формуле Герона

где .

function St(x1,y1, x2,y2, x3,y3: real): real;

var a, b, c, p: real;

begin

a:=sqrt(sqr(x1-x2)+sqr(y1-y2));

b:=sqrt(sqr(x1-x3)+sqr(y1-y3));

c:=sqrt(sqr(x3-x2)+sqr(y3-y2));

p:=(a+b+c)/2;

St:=sqrt(p*(p-a)*(p-b)*(p-c));

end;

5) Отсечение i-той вершины

dec(n);

for j:=i to n do sd[j]:=sd[j+1];

После отсечения какой-либо вершины необходимо заново рассчитать внутренние углы многоугольника, т.е. вызвать процедуру Angles.

После вычисления площади, выводим ее на экран и ожидаем нажатия любой клавиши.

Writeln('Площадь фигуры: ', S:3:3);

Readkey

Полный текст программы приведен в приложении 2.


Проверка на контрольных примерах.

Проверим работу программы на фигурах, площади которых можно вычислить по формулам.

1) Треугольник

Содержимое файла points.dat

3

К-во Просмотров: 1185
Бесплатно скачать Реферат: Вычисления площади произвольного многоугольника