3 Способа вычисления площади трегольника
1-й Вариант
(через косое произведение векторов)
S=abs( (x2-x1)*(y3-y1)-(y2-y1)*(x3-x1)
эта формула чаще всего применяется в програмирование потому что имеет минимальную погрешность
Код:
var x1,x2,x0,y1,y2,y0,s1,s2,s3,a,b,c,p,h:real; begin //1 Вариант readln(x1,y1,x2,y2,x0,y0); s1:=abs((x2-x1)*(y0-y1)-(y2-y1)*(x0-x1))/2; writeln(s1:0:15); //2 Вариант a:=sqrt((x1-x0)*(x1-x0)+(y1-y0)*(y1-y0)); b:=sqrt((x2-x0)*(x2-x0)+(y2-y0)*(y2-y0)); c:=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); p:=(a+b+c)/2; s2:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln(s2:0:15); //3 Вариант h:=abs((y2-y1)*x0+(x1-x2)*y0+(y1*x2-x1*y2))/sqrt(a*a+b*b); s3:=h*c/2; writeln(s3:0:15 ); end.
Вот как-то так
Отредактировано ЯНУш (2011-06-22 16:21:13)