Поділ попередньо обробленого багатогранника і площини


14

У мене є серйозні проблеми з розумінням одного кроку в роботі Добкіна і Кіркпатріка про поділ багатогранників. Я намагаюся зрозуміти цю версію: http://www.cs.princeton.edu/~dpd/Papers/SCG-09-invited/old%20papers/DPD+Kirk.pdf

Він стверджує, що після того, як ми знаємо найкраще розділення і , реалізованих та , ми можемо знайти найкраще розділення і на етапах . Це робиться наступним чином. Проводимо площину, паралельну через і розрізаємо на дві частини. З одного боку, найближчою точкою до є а з іншого у нас є `` елементарний '' багатогранник, який ми можемо перевірити в час. Моя проблема - як ми можемо знайти цей елементарний багатогранник? Зауважимо, що ступіньPiSrisiPi1SO(1)SriPi1SriO(1)riв може бути без обмежень.Pi1

У pdf, щоб довести Thm 5.1 зі сторінки 9, вони використовують Thm 3.1 зі сторінки 4, що робить все складніше.


Мені дуже цікаво, що якщо я пропоную щедрості, в описі якої я кажу, що відповідь Джеффа мені не зрозуміла, і в коментарі до його відповіді я уточнюю своє питання, то чому люди продовжують підтримувати його відповідь, не відповідаючи на мою питання? Також мені цікаво, чи отримала би його відповідь автоматично?
domotorp

резюме вказує на те, що відповідь надає щось цінне, що вона зробила! просто не саме те, що ти хотів. Дійсно, потрібна відповідь була уточненням загальної пропозиції. Крім того, навіщо турбуватися за чужі нагороди?
Суреш Венкат

Відповіді:


6

Відповідь оновлена ​​та переписана з нуля.

Вам надається багатогранник . Запуск Добкін-Kirkpatric ієрархії на P. Це дає послідовність багатогранників P 1P 2... P до = P . Припустимо, ви хочете знайти найближчу точку на P до точки запиту q . Основний алгоритм починається з обчислення найближчої точки c 1 до q на P 1 , потім він розглядає всі нові області (намети), що примикають до c 1 , знаходить найближчу точку c 2 до qPP1P2Pk=PPqc1qP1c1c2qв цих нових регіонах, і продовжувати таким чином, поки не досягнемо .Pk

Тепер, якщо знаходиться на краю, то немає жодної проблеми - лише два намети можуть торкатися цього краю, або лише одна з них може покривати край. Таким чином, оновлення c i + 1 від C i в цьому випадку потребує постійного часу.cici+1Ci

Тож проблема полягає в тому, коли лежить на вершині високого ступеня, тому що тоді кількість нових наметів, що прилягають до нього при переході до P i + 1, може бути великою. Щоб подолати це, ми збираємось моделювати вершини великого ступеня як сукупність вершин, що мають низький ступінь. Зокрема, на кожному етапі, якщо C I лежить на вершині V , ми будемо пам'ятати два послідовних ребра е я , е ' я поруч з V , так що найближча точка до ц в Р я + 1ciPi+1civei,eivqPi+1лежить на наметі, який або примикає, або охоплює один із цих двох країв. Таким чином, ми можемо робити необхідні обчислення за постійний час.

Тож ми залишаємося проблемою, як слідкувати за цими двома краями під час піднімання вгору.

Щоб зробити це, передобчислювання для кожної вершини з P напрямок дотичної т про . Нехай Q i ( v ) - опуклий багатокутник, який є фігурою вершини v для багатокутника P i (при цьому площина, що визначає вершинну фігуру, має нормальне значення в напрямку t v ). Концептуально, Q 1 ( v ) , Q 2 ( v ) , . . . , Q k ( v )vPtvQi(v)vPitvQ1(v),Q2(v),...,Qk(v)поводиться як ієрархія 2d ДК. Якщо найближча точка на до q лежить на вершині w, то це відповідає v і сусідньому краю e в P i , де ребро e перетинає площину фігури вершини у w . Якщо найближча точка на Q i ( v ) до q лежить на краю e ' , то ви пам’ятаєте два суміжних ребра P i, які визначають дві вершини e ' (тутQi(v)qwvePiewQi(v)qePie належить Q i ( v ) ).eQi(v)

І тепер ми закінчили ... Дійсно, якщо також знаходиться на Q i + 1 ( v ), то ми можемо оновлювати його в постійному часі (оскільки це лише ієрархія 2d ДК). Якщо з іншого боку c i + 1 більше не знаходиться на Q i + 1 ( v ), він повинен належати до нового намету, який примикає або охоплює попередній пункт c i . У будь-якому випадку ми можемо оновлювати його постійно.ci+1Qi+1(v)ci+1Qi+1(v)ci


Оновлена ​​відповідь. Подивіться, чи має це зараз сенс Саме так я думаю про цю структуру даних. Це може не мати ніякого відношення до того, що є у статті.
Саріель Хар-Пелед

Я зараз розумію, дякую! Тож хитрість полягає в тому, що ми вибираємо дотичні напрямки на початку і тримаємо їх незмінними весь час! Я видалив свої попередні коментарі, які стосувалися вашої старої відповіді. Дякую ще раз!
domotorp

Так. Раді допомогти!
Саріель Хар-Пелед

8

Теорема 3.1 вимагає, щоб ієрархічне подання було компактним . Однією з вимог до компактності є те, що ступінь r i в P i - 1 обмежена постійною. Дивіться внизу сторінки 3.PriPi1

Визначення та побудова ієрархії Добкіна-Кіркпатріка набагато чіткіше в їхніх попередніх роботах (посилання [9,10,11] у статті, яку ви читаєте). Я настійно рекомендую спочатку їх прочитати.


Я думаю, що вони гарантують, що ступінь вершин у обмежений. Я не бачу, як ви могли переконатися, що ступінь r i обмежена. Якщо, наприклад, у вас є багатогранник, де дві вершини з'єднані з кожною вершиною, то з чого можна починати? Pi1Piri
domotorp

1
З однією з інших вершин, у яких усі мають ступінь 4. (Насправді, з незалежним підмножиною вершин степеня-4.) Точка є вершиною P i - 1, але не вершиною P i . riPi1Pi
Jeffε

Так виникає непорозуміння. Я вважаю , що є вершиною Р я а в алгоритмі , який я описав, в зокрема , найближчий до S . Я помиляюся? riPiS
domotorp

Це здається одним із цих стандартних, але виснажливих загальних позицій. Якщо вам не байдуже час бігу, ви завжди можете замінити вершину градусного на дві надзвичайно близькі вершини ступеня d / 2 + 3 (якщо наполягаєте на трикутних гранях). Повторіть це до тих пір, поки всі вершини до тих пір, поки всі градуси не dd/2+3
стануть

@Sariel: Я думав так само, але тоді чому б закінчився процес? Зауважте, що коли ми видаляємо вершину, то її сусіди можуть не утворювати обличчя, тому нам, можливо, доведеться додати нові краї, насправді, нам, можливо, доведеться збільшити ступінь вершини.
domotorp

1

У випадку, якщо когось все-таки зацікавить питання: корч у поясненні Добкіна Кірпатріка також вказується в Оптимальному виявленні перехрестя між опуклими багатогранниками Барбою та Лангерманом .

Вони зауважують у статті (версія SODA 2015, не arxiv), що обчислювальна геометрія O'Rourke в C , глава 7 вже детально розкриває рішення (що по суті є відповіддю Саріеля). Документ SODA також вводить альтернативне рішення; визначення варіанту ієрархії ДК, в якій кожна вершина має обмежений ступінь.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.