Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > пересечение отрезков по отрезку


Автор: programperl 28.10.2013, 14:06
Есть два отрезка, нужно определить пересекаются ли они по отрезку(не по точке)
Может существуют модули делающие это?
$segment1 = [[0,2],[2,2]];
$segment2= [[1,2],[5,2]]
Спасибо

Автор: arto 28.10.2013, 14:58
"пересекаются ли они по отрезку(не по точке)" -- ?
не могли бы вы более понятно объяснить.

Автор: programperl 28.10.2013, 15:33
Ну то есть два отрезка имеют общую часть - отрезок, а не точку

Автор: arto 28.10.2013, 15:43
неужели у программистов так плохо с математикой?

раз у вас прямая на плоскости, то функция, которая её описывает f(x) = ax+b.
решаете систему уравнений, получаете коэффициенты a и b. если они совпадают,
значит отрезки лежат на одной прямой, а определить, насколько они совпадают -- уже элементарно.

Автор: programperl 28.10.2013, 16:04
Про прямую все понятно, а вот дальше что делать? Не могли бы Вы поподробнее объяснить или код написать, как определить взаимное расположение отрезков(то что Вы называете элементарным)?

Автор: arto 28.10.2013, 16:13
если отрезки находятся на одной прямой, то сравните координаты их концов, например по оси x.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)