Задать вопрос
@akass
Developer

Можно ли проверить частичное наложение отрезков?

Есть два polyline , они могут пересекать друг друга, но нельзя чтобы один накрыл какую-то часть другого.
Каким образом это лучше проверять?
Пока были такие мысли:
1. Сравнивать каждый отрезок с каждым. Получить как-то их массивы точек (не откуда до куда, а все, возможно исходя из размеров клетки координатной сетки). Сравнить не совпадают ли больше одной.
2. Проверять угол относительно оси если последняя точка лежит на отрезке и угол один значит они накладываются.
  • Вопрос задан
  • 832 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
dmitry_pavlov
@dmitry_pavlov
World-class .NET freelance contractor (remotely)
Если речь про ломаные, состояшие из прямых отрезков, вот тут есть вариант - Algorithm for finding the segment overlapping two ...

Если нужно отлавливать приблизительное наложение, придется поиграться с углом и динамическим параметром, который будет регулировать, что считать наложением (принимать некую длину где отрезки формально не накладываются, но с учетом масштаба - приняты за наложение). Это чуть сложнее, и требует экспериментов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы