线段的垂直平分线

2019-11-18  本文已影响0人  Vieta_Qiu人工智障

/* 线段的垂直平分线 */
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 = -1
    double k = (A.x - B.x)/(B.y - A.y);
    l.A = k;
    l.B = -1;
    l.C = m.y - k * m.x;
}
return l;

}
————————————————
版权声明:本文为CSDN博主「hbuxiaoshe」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hbuxiaoshe/article/details/5967837

上一篇 下一篇

猜你喜欢

热点阅读