Можно ли проверить частичное наложение отрезков? Есть два polyline , они могут пересекать друг друга, но нельзя чтобы один накрыл какую-то часть другого.
Каким образом это лучше проверять?
Пока были такие мысли:
1. Сравнивать каждый отрезок с каждым. Получить как-то их массивы точек (не откуда до куда, а все, возможно исходя из размеров клетки координатной сетки). Сравнить не совпадают ли больше одной.
2. Проверять угол относительно оси если последняя точка лежит на отрезке и угол один значит они накладываются.

21 Авг 2019 в 06:15
312 +1
0
Ответы
1

Для проверки частичного наложения отрезков можно воспользователь несколькими способами:

Проверка пересечения отрезков: можно воспользоваться алгоритмом проверки пересечения двух отрезков, например, алгоритмом на основе векторного произведения. Если отрезки пересекаются, но их не скрывают друг друга, то они частично накладываются.

Проверка наличия общих точек: можно пройти по вершинам каждого отрезка и проверить, есть ли общие точки между ними. Если общих точек больше одной, то отрезки частично накладываются.

Проверка углов: как вы упомянули, можно проверить угол относительно оси между последней точкой одного отрезка и другим отрезком. Если угол близок к 180 градусам, то отрезки могут частично накладываться.

Выбор метода зависит от конкретной задачи и требований к точности проверки.

20 Апр 2024 в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир