利用海伦公式
由海伦公式得出面积
s=sqrt(p*(p-a)(p-b)(p-c)) p=(a+b+c)/2;
由三角形面积公式S=1/2*a*b*sin(C)
和正弦定理a/sin(A)=b/sin(B)=c/sin(C)=d=2*r
得d=a*b*c/2/S; (a,b,c为三边长)
周长为d*PI
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
struct data
{
double x,y;
}p[10];
const double PI= 3.141592653589793;
double dis(data a,data b)
{
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
int main()
{
while(scanf("%lf%lf%lf%lf%lf%lf",&p[0].x,&p[0].y,&p[1].x,&p[1].y,&p[2].x,&p[2].y)!=EOF)
{
double a,b,c;
a=dis(p[0],p[1]);
b=dis(p[0],p[2]);
c=dis(p[1],p[2]);
double p=(a+b+c)/2;
double s=sqrt(p*(p-a)*(p-b)*(p-c)) ;
printf("%.2f\n",PI*a*b*c/2.0/s);
}
return 0;
}