C语言平面几何15-线段的垂直平分线

来源:互联网 发布:我国金融机构数据 编辑:程序博客网 时间:2024/04/28 20:38


线段AB的垂直平分线:先求中点M,再根据线段AB的斜率k1求出直线的斜率k2,k1*k2=-1,最后求出线段的方程:kx-y+C=0。/* 线段的垂直平分线 */Line PerpendicularBisector(Point A, Point B){Point m;// 中点m.x = (A.x + B.x)/2;m.y = (A.y + B.y)/2;Line l;if (dequals(A.y, B.y))// 线段是水平的{l.A = -1;l.B = 0;l.C = m.x;}else if (dequals(A.x, B.x))// 线段是垂直的{l.A = 0;l.B = -1;l.C = m.y;}else{// k1 * k2 = -1double k = (A.x - B.x)/(B.y - A.y);l.A = k;l.B = -1;l.C = m.y - k * m.x;}return l;}


0 0