전처리 된 다면체와 평면의 분리


14

Dobkin과 Kirkpatrick의 논문에서 다면체 분리에 대한 한 단계를 이해하는 데 심각한 어려움이 있습니다. 이 버전을 이해하려고합니다 : http://www.cs.princeton.edu/~dpd/Papers/SCG-09-invited/old%20papers/DPD+Kirk.pdf

와 의해 실현 된 Pi 의 가장 좋은 분리를 알고 나면 O ( 1 ) 단계 에서 과 의 가장 좋은 분리를 찾을 수 있다고 주장 합니다. 이것은 다음과 같은 방식으로 이루어집니다. 우리는 상기 평행 한면을 S 통해 R I 및 절단 P I - 1 이를 두 개로. 한쪽에서 가장 가까운 지점 S는 이다 r은 내가 하고 다른 한편으로 우리는 우리가 확인할 수 있다는``기본 ''다면체이 O를 (Ss i P i - 1 SrisiPi1SO(1)SriPi1Sri 시간. 내 문제는-이 기본 다면체를 어떻게 찾습니까? 의 정도 있습니다 r에 에서 P 내가 - 1 억제 할 수 있습니다.O(1)riPi1

9 페이지에서 Thm 5.1을 증명하기 위해 pdf에서 4 페이지의 Thm 3.1을 사용하므로 모든 것을 따르기가 더 어렵습니다.


나는 JeffE의 대답이 나에게 명확하지 않다고 말하는 설명에 현상금을 제공하고 그의 대답에 대한 의견에서 내 문제를 지정하면 사람들이 왜 내 대답에 대답하지 않고 자신의 대답을 계속지지하는지 궁금합니다. 질문? 또한, 그의 대답이 현상금을 자동으로 받습니까?
domotorp

공감대는 답이 가치있는 것을 제공함을 나타냅니다. 정확히 당신이 원하는 것이 아닙니다. 실제로, 당신이 필요로하는 답변은 일반적인 제안을 개선 한 것으로 보입니다. 또한 왜 다른 사람의 공감대에 대해 걱정합니까?
Suresh Venkat

답변:


6

답변이 처음부터 업데이트되고 다시 작성되었습니다.

폴리 토프 가 제공 됩니다. P에서 Dobkin-Kirkpatric 계층 구조를 실행합니다. 이것은 일련의 폴리 탑 P 1P 2P k = P를 제공 합니다. P 에서 쿼리 지점 q 에 가장 가까운 지점을 찾으려고 가정합니다 . 기본 알고리즘은 P 1 에서 가장 가까운 점 c 1 ~ q 를 계산하여 시작한 다음 c 1에 인접한 모든 새로운 영역 (텐트)을 고려 하고 가장 가까운 점 c 2 ~ q를 찾습니다.PP1P2Pk=PPqc1qP1c1c2q이 새로운 지역에서 도달 할 때까지이 방식으로 계속 진행하십시오 .Pk

이제 가 가장자리에 있으면 아무런 문제가 없습니다. 두 개의 텐트 만이 가장자리를 만지거나 그 중 하나만 가장자리를 덮을 수 있습니다. 따라서이 경우 C i 에서 c i + 1 을 업데이트하는 데 일정한 시간이 걸립니다.cici+1Ci

따라서 문제는 가 고도의 정점에있을 때 P i + 1로 이동할 때 인접한 새로운 텐트 수가 많을 수 있기 때문 입니다. 이를 극복하기 위해 낮은 정점 모음으로 큰 정점을 시뮬레이션합니다. 특히, 각 단계에서, c i 가 꼭짓점 v 에 있다면, 우리는 p 에 인접한 두 개의 연속 에지 e i , e ' iv에 인접하게 기억 하여 P i + 1 에서 q 에 가장 가까운 점을 기억할 것입니다ciPi+1civei,eivqPi+1인접하거나이 두 가장자리 중 하나를 덮고있는 텐트에 놓여 있습니다. 따라서 필요한 시간에 일정한 계산을 수행 할 수 있습니다.

그래서 우리는 올라갈 때이 두 가지 가장자리를 추적하는 방법에 대한 문제로 남아 있습니다.

그렇게하기 위해, P 의 모든 정점 에 대해 접선 방향 t v를 사전 계산한다 . 하자 Q를 ( V ) 의 정점 도면이다 볼록 다각형 V 다각형에 대한 P I (도 정점을 정의하는 평면과는 방향의 정상있다 t의 V ). 개념적으로, Q 1 ( V ) , Q 2 ( V ) , . . . , Q k ( v )vPtvQi(v)vPitvQ1(v),Q2(v),...,Qk(v)2D DK 계층처럼 작동합니다. 경우에 가장 가까운 점 Q의 정점에 놓여 w 에 다음이 대응 V 및 인접 에지 에서 P I , 여기서 에지 전자 교점에서 정점 도면의 평면 w . 에 가장 가까운 지점하면 Q는 내가 ( V )Q의 가장자리에 거짓말 전자 ' , 당신은 두 인접한 모서리 기억 P 난을 의 두 정점 정의하는 전자를 ' 여기 (Qi(v)qwvePiewQi(v)qePie Q i ( v )에 속한다.eQi(v)

그리고 지금 우리는 경우에, 참으로 ... 완료 에 있습니다 Q + 1 ( V ) (이 그냥 2D DK 계층 구조이기 때문에) 우리는 일정한 시간에 업데이트 할 수 있습니다. 반면에 c i + 1 이 더 이상 Q i + 1 ( v ) 에 있지 않으면 이전 지점 c i에 인접 해 있거나이를 덮고있는 새 텐트에 속해야합니다 . 두 경우 모두 일정한 시간에 업데이트 할 수 있습니다.ci+1Qi+1(v)ci+1Qi+1(v)ci


답변이 업데이트되었습니다. 지금 이해가되는지 확인하십시오. 이것이 내가이 데이터 구조에 대해 생각하는 방식입니다. 논문의 내용과 관련이 없을 수도 있습니다.
Sariel Har

이해합니다, 감사합니다! 트릭은 처음에 접선 방향을 선택하고 항상 변경하지 않는 것입니다! 이전 답변과 관련된 이전 의견을 삭제했습니다. 다시 한번 감사합니다!
domotorp

Yes. Happy to help!
Sariel Har-Peled

8

Theorem 3.1 requires that the hierarchical representation of P is compact. One of the requirements for compactness is that the degree of ri in Pi1 is bounded by a constant. See the bottom of page 3.

The definition and construction of the Dobkin-Kirkpatrick hierarchy is much more explicit in their earlier papers (references [9,10,11] in the paper you're reading). I strongly recommend reading them first.


I think that they guarantee that the degree of vertices in Pi1Pi is bounded. I do not see how you could make sure the degree of ri is bounded. If e.g. you have a polyhedron where two vertices are connected to every vertex, then how can you start?
domotorp

1
With one of the other vertices, which all have degree 4. (In fact, with an independent subset of the degree-4 vertices.) The point ri is a vertex of Pi1 but not a vertex of Pi.
Jeffε

So there is the misunderstanding. I think that ri is a vertex of Pi as well in the algorithm that I have described, notably the one closest to S. Am I wrong?
domotorp

This seems to be one of these standard but tedious general position assumption. If you do not care about running time, you can always replace a vertex of degree d by two extremely close vertices of degree d/2+3 (if you insist on triangular faces). Repeat this till all the vertices till all the degrees are smaller than 10.
Sariel Har-Peled

@Sariel: I was thinking the same but then why would the process end? Notice that when we delete a vertex, then its neighbors might not form a face, so we might have to add new edges, in fact, we might have to increase the degree of a vertex.
domotorp

1

In case somebody would still be interested by the question: the snag in the Dobkin Kirpatrick explanation has also been pointed out in Barba and Langerman's Optimal detection of intersections between convex polyhedra.

They observe in the paper (SODA 2015 version, not arxiv) that O'Rourke's Computational Geometry in C, chap 7 already details a workaround (which is essentially Sariel's answer). The SODA paper also introduces an alternative solution; defining a variant of the DK hierarchy in which each vertex has bounded degree.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.