三角形的重心:三角形三条中线的交点。该交点到顶点的距离是到对边中点距离的2倍。
三角形的垂心:三角形三条高的交点。
/* 三角形的重心 */
Point BaryCenter(Triangle t)
{
// 三条中线的交点
Point m = MiddlePoint(t.B, t.C);
Line l1 = LineMake(t.A, m);
Point n = MiddlePoint(t.A, t.B);
Line l2 = LineMake(t.C, n);
int flag;
return LinesIntersection(l1, l2, &flag);
}
/* 三角形的垂心 */
Point OrthoCenter(Triangle t)
{
Line a = LineMake(t.B, t.C);
Line b = LineMake(t.A, t.C);
// 垂点
Point m = VerticalPoint(t.A, a);
Point n = VerticalPoint(t.B, b);
Line l1 = LineMake(t.A, m);
Line l2 = LineMake(t.B, n);
int flag;
return LinesIntersection(l1, l2, &flag);
}