在网上找了好久,想找一个现成的方法来用,折腾半天发现没有一个好用的,最后迫不得已自己写了一个,需要的同学可以直接拿去用,
private void GetTriangleExcenterRadius(Point A, Point B, Point C, out double R, out Point center)
{
//same point
if (A == B && A == C)
{
R = ;
center = A;
return;
}
double x1 = A.X, x2 = B.X, x3 = C.X, y1 = A.Y, y2 = B.Y, y3 = C.Y;
double C1 = Math.Pow(x1, ) + Math.Pow(y1, ) - Math.Pow(x2, ) - Math.Pow(y2, );
double C2 = Math.Pow(x2, ) + Math.Pow(y2, ) - Math.Pow(x3, ) - Math.Pow(y3, );
double centery = (C1 * (x2 - x3) - C2 * (x1 - x2)) / ( * (y1 - y2) * (x2 - x3) - * (y2 - y3) * (x1 - x2));
double centerx = (C1 - * centery * (y1 - y2)) / ( * (x1 - x2));
center = new Point(centerx, centery);
R = GetDistance(A, center);
} private double GetDistance(Point A, Point B)
{
return Math.Sqrt(Math.Pow((A.X - B.X), ) + Math.Pow((A.Y - B.Y), ));
}