Умные вопросы
Войти
Регистрация
Каким может быть реальный пример задачи, в которой возникает потребность в вычислении выпуклой оболочки?
10 года
назад
от
***РУСИЧ***
1 ответ
▲
▼
0
голосов
вобще-то на каждом шагу, обычно как часть других алгоритмов, например, когда надо как-то представить общую форму множества точек, а лежащие внутри - не важны.
вот у меня была недавно реальная задача: есть куча точек (от сотен до сотен тысяч) , плотно лежащих на некой плоскости в 3d (например, крыша дома, отсканированная лазерным сканером) , оператор тыкает куда-то недалеко от края (скажем в примерно в полуметре от края) , надо найти линию края крыши. Решение: проецируем все в плоскость, выбираем точки в метре от тычка оператора, они лежат в неком обрезанном краем крыши круге. Берем выпуклую оболочку, е центр тяжести, пробегаем по контуру, ищем середину отрезка, самую близкую к центру тяжести - эти две точки лежат как раз на краю (ну потом уже недолго уточнить линию)
много раз вылезали задачи типа нахождения диаметра множества точек - максимально далекой пары. Если перебирать в лоб тысячу точек - получится пол-миллиона пар, если миллион точек - пол-триллиона (это уже нереально долго) . А если сначала взять выпуклую оболочку - можно быстренько обежать е взаимно скользящей парой точек, получим для миллиона точек порядка 10 миллионов операция на построение оболочки и потом порядка нескольких тысяч на выбор пары. 10 миллионов на современном компе - глазом не увидишь, а пол-триллиона - как минимум часы.
вобще вып. оболочка хороша тем, что считается быстро, а точек остается мало (при случайных данных - порядка корня из чиста точек) .
10 года
назад
от
Viajator
Связанные вопросы
1
ответ
Нужно ли избавляться от слов-паразитов?
6 года
назад
от
Виталий Курбатов
1
ответ
Правда ли что скоро начнётся ищвердение вулкана? Йеллоустоун?
6 года
назад
от
Максим
1
ответ
Вопрос насчет космоса
9 года
назад
от
kugelblitz