三角形的重心:三角形三條中線的交點。該交點到頂點的距離是到對邊中點距離的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);
}