三角形的内心,就是其内切圆的圆心。三角形三内角平分线相交于一点,该点即为内心。
/* 三角形的内心 */
Point Incenter(Triangle t)
{
Line l1 = AngleBisector(t.A, t.B, t.C);
Line l2 = AngleBisector(t.B, t.A, t.C);
int flag;
return LinesIntersection(l1, l2, &flag); // flag返回0,两直线平行
}
/* 三角形的外接圆 */
Circle InCircle(Triangle t)
{
Line l = LineMake(t.A, t.B);
Point centre = Incenter(t);
Circle c;
c.centre = centre;
c.radius = DistanceOfPointToLine(centre, l); // 点到直线的距离
return c;
}