自己找的公式然後寫的,比較低級,
希望能有大佬看到能指點我一下有什麼更高級的公式。感激不盡!
double Length(int x1,int y1,int x2,int y2){
return (double)sqrt(pow(x1-x2,2)+pow(y1-y2,2));
}
double a=Length(x1,y1,x2,y2);
double b=Length(x2,y2,x3,y3);
double c=Length(x3,y3,x1,y1);
double r=(double)sqrt((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a))/(2*(a+b+c)); //內切圓
double R=a*b*c/sqrt(4*b*b*c*c-pow(b*b+c*c-a*a,2)); //外接圓
更新面積
double S(double a,double b,double c){
double p=(a+b+c)/2;
return (double)sqrt(p*(p-a)*(p-b)*(p-c));
}
double area(node a, node b, node c) {
return fabs((b.x - a.x) * (c.y - a.y) - (c.x - a.x) * (b.y - a.y)) / 2.0;
}