C语言平面几何19-三角形的重心和垂心

三角形的重心:三角形三条中线的交点。该交点到顶点的距离是到对边中点距离的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);
}

 

你可能感兴趣的:(c,语言)