求三角形ABC的面积S。
1)S=底*高/2
2)S2=p*(p-a)*(p-b)*(p-c),其中p=(a+b+c)/2
C语言代码:
/* 三角形的面积: 底*高/2 */
double AreaOfTriangle(Triangle t)
{
Line l = LineMake(t.A, t.B);
double d = DistanceOfPoints(t.A, t.B);
double h = DistanceOfPointToLine(t.C, l);
return d * h / 2.0;
}
/* 三角形的面积 */
double AreaOfTriangle2(Triangle t)
{
double a = DistanceOfPoints(t.B, t.C);
double b = DistanceOfPoints(t.A, t.C);
double c = DistanceOfPoints(t.A, t.B);
double p = (a + b + c)/2.0;
return (double)sqrt((p*(p-a)*(p-b)*(p-c));
}