88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
|
|
1 | |
Пересекаются ли два отрезка07.11.2016, 22:36. Показов 3031. Ответов 5
Метки нет (Все метки)
Есть следующий способ проверить это:
Кликните здесь для просмотра всего текста
Вместо пересечения отрезков выполним пересечение двух прямых, в результате, если прямые не параллельны, получим какую-то точку, которую надо проверить на принадлежность обоим отрезкам; для этого достаточно проверить, что эта точка принадлежит обоим отрезкам в проекции на ось X и на ось Y.
Если же прямые оказались параллельными, то, если они не совпадают, то отрезки точно не пересекаются. Если же прямые совпали, то отрезки лежат на одной прямой, и для проверки их пересечения достаточно проверить, что пересекаются их проекции на ось X и Y. Остаётся ещё особый случай, когда один или оба отрезка вырождаются в точки: в таком случае говорить о прямых некорректно, и этот метод будет неприменим (этот случай надо будет разбирать отдельно). Мне непонятно, что значит проверить, что эта точка принадлежит обоим отрезкам в проекции на ось X и на ось Y. Я знаю, что проекция точки на ось - это основание перпендикуляра, опущенного из этой точки на данную ось, но это не помогает понять.
0
|
07.11.2016, 22:36 | |
Ответы с готовыми решениями:
5
В треугольнике ABC прямые пересекаются в точке P. Найти длину отрезка РС Указать, совпадают прямые, параллельны или пересекаются, если пересекаются, то найти точку пересечения Найти два отрезка в окружности Круг и два отрезка - пересечение |
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
07.11.2016, 22:43 | 2 |
Если вас не устраивает приведенный (вполне разумный!) способ, можно пойти другим путем.
Уравнение отрезка AB (векторное) X = A*t + B(1-t), 0<= t <=1 Надо составить уравнение обоих отрезков, приравнять их, найти параметры и проверить лежат ли в указанных границах.
1
|
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
|
|
07.11.2016, 22:46 [ТС] | 3 |
Мне нужно разобраться именно с этим способом.
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
08.11.2016, 11:31 | 5 |
Сообщение было отмечено Artmal как решение
Решение
Если взять координаты концов отрезка
A будет 2 координаты по X xA0 xA1 B будет 2 координаты по X xB0 xB1 Принадлежит ли точка интервалу xA0,xA1 и xB0, xB1 Тоже самое для Y.
1
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
08.11.2016, 11:38 | 6 |
Если точка принадлежит отрезку, то она принадлежит и проекции этого отрезка на любую прямую. Если она принадлежит 2-м отрезкам, то ее проекция принадлежит проекциям обоих отрезков, т.е. пересечению их проекций. А значит, пересечение проекций отрезков не пусто.
1
|
08.11.2016, 11:38 | |
08.11.2016, 11:38 | |
Помогаю со студенческими работами здесь
6
Определить пересекаются ли два отрезка Написать функцию, определяющую пересекаются ли два отрезка Определить, пересекаются ли два отрезка А и В, заданные координатами их концов Условие в запросе, что два временных отрезка пересекаются Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |