Взаимное расположение двух прямых



Даны две прямые.
Необходимо определить параллельны они или совпадают?

Если прямые параллельны, то
a1 * b2 = a2 * b1

Если прямые совпадают, то
a1 * b2 = a2 * b1
a1 * c2 = a2 * c1
b1 * c2 = b2 * c1


Листинг C++

// параллельны ли прямые?
bool is_parallel_line (line l1, line l2)
{
    return abs (l1.a * l2.b - l2.a * l1.b) <= eps;
}
// совпадают ли прямые?
bool is_equal_line (line l1, line l2)
{
    return abs (l1.a * l2.b - l2.a * l1.b) <= eps &&
            abs (l1.a * l2.c - l2.a * l1.c) <= eps &&
            abs (l1.b * l2.c - l2.b * l1.c) <= eps;
}


21.02.2008, 16:58

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