C已知三角形的三个顶点 a(xa,ya),b(xb,yb),c(xc,yc)求这个三角面积
时间: 2024-05-09 11:16:04 浏览: 115
用三个点求三角形面积
4星 · 用户满意度95%
可以使用海龙公式来求解三角形面积,即:
s = (a + b + c) / 2
area = sqrt(s * (s - a) * (s - b) * (s - c))
其中,a、b、c 分别为三角形三边的长度,s 为半周长,也就是三边长度之和的一半。
对于已知三角形的三个顶点 a(xa,ya),b(xb,yb),c(xc,yc),可以计算出三边长度:
ab = sqrt((xb - xa)^2 + (yb - ya)^2)
bc = sqrt((xc - xb)^2 + (yc - yb)^2)
ca = sqrt((xa - xc)^2 + (ya - yc)^2)
然后再代入海龙公式,即可计算出三角形面积:
s = (ab + bc + ca) / 2
area = sqrt(s * (s - ab) * (s - bc) * (s - ca))
具体实现可以参考下面的 C 代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
double xa, ya, xb, yb, xc, yc;
double ab, bc, ca, s, area;
printf("请输入三角形三个顶点坐标:\n");
scanf("%lf,%lf,%lf,%lf,%lf,%lf", &xa, &ya, &xb, &yb, &xc, &yc);
ab = sqrt((xb - xa) * (xb - xa) + (yb - ya) * (yb - ya));
bc = sqrt((xc - xb) * (xc - xb) + (yc - yb) * (yc - yb));
ca = sqrt((xa - xc) * (xa - xc) + (ya - yc) * (ya - yc));
s = (ab + bc + ca) / 2;
area = sqrt(s * (s - ab) * (s - bc) * (s - ca));
printf("三角形面积为:%lf\n", area);
return 0;
}
```
阅读全文