| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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. |