Поиск многоугольника с определенным размером.
-
- Участник
- Сообщения: 72
- Зарегистрирован: 03 ноя 2017, 11:33
- Репутация: 5
- Откуда: Москва
Поиск многоугольника с определенным размером.
Добрый вечер коллеги! Прошу вашей помощи, тк сам уже голову сломал в поиске подхода для определения размера произвольного многоугольника.
Задача стоит так, нужен найти математическое решение определения размера многоугольника. Что я подразумеваю под размером, это кратчайшее расстояние от точки до противоположного ребра, то-есть перпендикуляр.
Другими словами мне нужно отсечь все многоугольники которые в пределах погрешности можно уже считать линией.
Задача стоит так, нужен найти математическое решение определения размера многоугольника. Что я подразумеваю под размером, это кратчайшее расстояние от точки до противоположного ребра, то-есть перпендикуляр.
Другими словами мне нужно отсечь все многоугольники которые в пределах погрешности можно уже считать линией.
-
- Участник
- Сообщения: 72
- Зарегистрирован: 03 ноя 2017, 11:33
- Репутация: 5
- Откуда: Москва
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Поиск многоугольника с определенным размером.
считай перпендикуляры из всех вершин - в чём проблема?
-
- Участник
- Сообщения: 72
- Зарегистрирован: 03 ноя 2017, 11:33
- Репутация: 5
- Откуда: Москва
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Поиск многоугольника с определенным размером.
у тебя тут не одна вершина
-
- Гуру
- Сообщения: 4069
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1064
- Ваше звание: программист
- Откуда: Казань
Re: Поиск многоугольника с определенным размером.
План А. Способ простой и практический - снести на растр нужной детальности, и делать эрозию до полного исчезновения. Число эрозий умноженное на два есть максимальная толщина. Если порог толщины задан, смотреть, что раньше случится, все исчезнет, или выполнится заданное число эрозий.
План В. Способ точный, но муторный - разбить фигуру на треугольники, и смотреть их толщину. Разбиение можно найти готовое, его используют для рисования в OpenGL. Но тут придется долго и муторно разбирать варианты, кто на ком лежал. Можно построить скелетон, и с ним играться. Но если для дела, то план А, он надежный
P.S. Кстати, описание задачи не корректное, я ориентировался на слова "можно считать линией"
План В. Способ точный, но муторный - разбить фигуру на треугольники, и смотреть их толщину. Разбиение можно найти готовое, его используют для рисования в OpenGL. Но тут придется долго и муторно разбирать варианты, кто на ком лежал. Можно построить скелетон, и с ним играться. Но если для дела, то план А, он надежный
P.S. Кстати, описание задачи не корректное, я ориентировался на слова "можно считать линией"
-
- Гуру
- Сообщения: 4069
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1064
- Ваше звание: программист
- Откуда: Казань
Re: Поиск многоугольника с определенным размером.
Update. Со скелетоном имелось в виду построить вокруг него буфер заданного радиуса, и если регион целиком лежит внутри буфера, то он типа линия. Но я все же за план А.
-
- Участник
- Сообщения: 72
- Зарегистрирован: 03 ноя 2017, 11:33
- Репутация: 5
- Откуда: Москва
Re: Поиск многоугольника с определенным размером.
Вообщем после пробы разных построений было принято решение о построении от узла (по очереди из каждого) кратчайшего расстояния до отрезка (перебирая каждый отрезок по очереди). Потом каждое построение сравнивать с расстояниями до узлов отрезка (тем самым оставлять в выборке только перпендикуляры (построенное кратчайшее расстояние не должно равняться расстоянию до узлов) ). Соответственно самый длинный построенный перпендикуляр будет называться максимальной толщиной объекта!
я наверное не правильно свою мысль изложил, для моей задачи объекты с толщиной < 7мм я уже считаю "линиями", то есть не имеющие площадь.
-
- Гуру
- Сообщения: 4069
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1064
- Ваше звание: программист
- Откуда: Казань
Re: Поиск многоугольника с определенным размером.
скорее всего. При радиусе 3.5 мм ваш объект полностью погрузится в буфер скелетона. А что представляет собой ваш последний алгоритм, понять невозможно, но, скорее всего, можно опять придумать контрпример типа того, что на картинке выше с двутавровым швеллером.
- antonv
- Активный участник
- Сообщения: 229
- Зарегистрирован: 29 ноя 2016, 10:44
- Репутация: 114
- Откуда: Санкт-Петербург
Re: Поиск многоугольника с определенным размером.
Dezmond, так а "двутавровый швеллер" из рисунка выше - он не должен считаться линией? Или должен считаться тремя?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость