Пересечение отрезка с прямой



Дан отрезок и прямая
Необходимо определить пересекаются ли

Если прямая не пересекает отрезок, то функция возвращает 0.
Если прямая и отрезок имеют одну общую точку, функция возвращает 1.
Если отрезок принадлежит прямой, функция возвращает 2.

Листинг C++

int cross_segment_line (point p1, point p2, line l, point &p)
{
    line t = toline (p1, p2);
    int flag = cross_line (l, t, p);
    if (flag == 0) return 0;
    if (flag == 2) return 2;

    if (point_in_box (p, p1, p2)) return 1;
    return 0;
}

22.02.2008, 17:17


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