У меня есть серьезные проблемы с пониманием одного шага в статье Добкина и Киркпатрика о разделении многогранников. Я пытаюсь понять эту версию: http://www.cs.princeton.edu/~dpd/Papers/SCG-09-invited/old%20papers/DPD+Kirk.pdf
Он утверждает, что после того, как мы знаем лучшее разделение и , реализованное с помощью и , мы можем найти лучшее разделение и за шагов. Это делается следующим образом. Мы берем плоскость, параллельную через и разрезаем на две части. С одной стороны, ближайшая точка к - это а с другой стороны у нас есть «элементарный» многогранник, который мы можем проверить за раз. Моя проблема - как нам найти этот элементарный многогранник? Обратите внимание, что степень S r i sP i - 1 Sв может быть неограниченным.
В PDF, чтобы доказать Thm 5.1 со страницы 9, они используют Thm 3.1 со страницы 4, что усложняет задачу.
источник
Ответы:
Ответ обновлен и переписан с нуля.
Вам предоставляется многогранник . Запуск Добкин-Kirkpatric иерархии на P. Это дает последовательность многогранников P 1 ⊆ P 2 ⊆ ... ⊆ P к = P . Предположим, вы хотите найти ближайшую точку на P к точке запроса q . Основные начинается алгоритм вычисления по ближайшей точке гр 1 к ц на P 1 , то он считает , что все новые регионы (палатки) , прилегающие к C 1 , найти ближайшую точку гр 2 к цP P1⊆P2⊆…⊆Pk=P P q c1 q P1 c1 c2 q в этих новых регионах, и продолжайте в том же духе, пока мы не достигнем .Pk
Теперь, если находится на краю, тогда нет никаких проблем - только две палатки могут касаться этого края, или только одна из них может покрывать край. Таким образом, обновление c i + 1 от C i в этом случае занимает постоянное время.ci ci+1 Ci
Поэтому проблема в том, что когда лежит в вершине высокой степени, потому что тогда число новых палаток, смежных с ней, при переходе к P i + 1 может быть большим. Чтобы преодолеть это, мы собираемся смоделировать вершину большой степени как набор вершин, имеющих низкую степень. В частности, на каждом этапе, если c i лежит в вершине v , мы будем помнить два последовательных ребра e i , e ′ i, смежных с v , так что ближайшая точка к q в P i + 1ci Pi+1 ci v ei,e′i v q Pi+1 лежит на палатке, которая либо смежна, либо покрывает один из этих двух краев. Таким образом, мы можем выполнять необходимые вычисления за постоянное время.
Таким образом, мы остаемся с проблемой того, как отслеживать эти два края, когда мы поднимаемся.
Для этого предварительно вычислите для каждой вершины из P касательное направление t v . Пусть Q i ( v ) - выпуклый многоугольник, который является вершиной v для многоугольника P i (плоскость, определяющая вершину, имеет нормаль в направлении t v ). Концептуально, Q 1 ( v ) , Q 2 ( v ) , . , , , Q k ( v )v P tv Qi(v) v Pi tv Q1(v),Q2(v),...,Qk(v) ведет себя как 2d иерархия DK. Если ближайшая точка на к q лежит на вершине w, то это соответствует v и смежному ребру e в P i , где ребро e пересекает плоскость фигуры вершины в точке w . Если ближайшая точка на Q i ( v ) к q лежит на ребре e ′ , то вы помните два смежных ребра P i, которые определяют две вершины e ′ (здесьQi(v) q w v e Pi e w Qi(v) q e′ Pi e′ принадлежит Q i ( v ) ).e′ Qi(v)
И теперь мы закончили ... Действительно, если также находится на Q i + 1 ( v ), то мы можем обновить его за постоянное время (так как это просто 2d иерархия DK). Если, с другой стороны, c i + 1 больше не находится на Q i + 1 ( v ), то он должен принадлежать новой смежной палатке или покрывать предыдущую точку c i . В любом случае мы можем обновить его в постоянное время.ci+1 Qi+1(v) ci+1 Qi+1(v) ci
источник
Теорема 3.1 требует, чтобы иерархическое представление является компактным . Одним из требований к компактности является то, что степень r i в P i - 1 ограничена константой. Смотрите внизу страницы 3.P ri Pi−1
Определение и построение иерархии Добкина-Киркпатрика намного более явны в их более ранних статьях (ссылки [9,10,11] в статье, которую вы читаете). Я настоятельно рекомендую сначала прочитать их.
источник
В случае, если кого-то все еще интересует вопрос: загвоздка в объяснении Добкина Кирпатрика была также указана в « Оптимальном обнаружении пересечений между выпуклыми многогранниками» Барбы и Лангермана .
Они отмечают в статье (версия SODA 2015, а не arxiv), что вычислительная геометрия О'Рурка в C , глава 7, уже детализирует обходной путь (который по сути является ответом Сариэля). Документ SODA также представляет альтернативное решение; определение варианта иерархии DK, в котором каждая вершина имеет ограниченную степень.
источник