三角形的外心,就是其外接圆的圆心。三角形三边的垂直平分线相交于一点,该点即为外心。
/* 三角形的外心 */
Point Excenter(Triangle t)
{
Line l1 = PerpendicularBisector(t.A, t.B);
Line l2 = PerpendicularBisector(t.A, t.C);
int flag;
return LinesIntersection(l1, l2, &flag); // flag返回0,两直线平行
}
/* 三角形的外接圆 */
Circle ExCircle(Triangle t)
{
Point centre = Excenter(t);
Circle c;
c.centre = centre;
c.radius = DistanceOfPoints(centre, t.A);
return c;
}