Расстояние от точки до отрезка



Дан отрезок и точка
Необходимо найти расстояние от точки до отрезка

Найдём прямую, проходящую через отрезок. Если проекция точки на эту прямую принадлежит нашему отрезку, то расстояние будет равно расстоянию до проекции. Иначе расстояние равно минимальному из расстояний между точкой и границами отрезка.

Листинг C++

double dist_point_to_segment (point p, point p1, point p2)
{
    point t = closest_point (toline (p1, p2), p);

    if (point_in_box (t, p1, p2))
        return dist (p, t);
    else
        return min (dist (p, p1), dist (p, p2));
}

22.02.2008, 17:09


По всем вопросам обращаться: rumterg@gmail.com