点到线段的距离

2018-06-11  本文已影响0人  laochonger
点到线段的距离

点到线段分为三种情况

double distancetosegment(Point P, Point A, Point B){
    if(A==B) return Length(P-A);
    Vector v1 = B-A, v2 = P-A, v3 = P-B;
    if(dcmp(Dot(v1,v2)) < 0) return Length(v2);
    else if(dcmp(Dot(v1,v3)) > 0) return Length(v3);
    else return fabs(Cross(v1,v2) / Length(v1));
}
上一篇 下一篇

猜你喜欢

热点阅读