Взаимное расположение двух прямых
Даны две прямые.
Необходимо определить параллельны они или совпадают?
Если прямые параллельны, то
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