Problem Definition
2차원 공간에서의 polygonal domain 를 생각하자. 더 정확히 말하자면, 개의 서로 겹치지 않는 다각형 장애물이 있고, 이 도형들이 가진 정점의 총 갯수는 이라 가정한다.
어떤 선분 가 주어졌을 때, 선분을 수직 방향으로 평행이동해서 (위, 아래로) 가장 먼저 닿는 다각형의 index와 교차하는 점을 구하여라. ( preprocessing / storage, query)
Related Works
Segment dragging query는, 주어진 선분을 움직여서 가장 먼저 마주치는 점을 찾는 문제이다. 1988년 Chazelle이 horizontal segment에 대한 dragging query를 preprocessing, storage로 시간 안에 답하는 알고리즘을 소개했다.
Simplex range searching은 주어진 정점들 중 도형이 포함하는 정점을 나열하는 문제이다. 고차원 공간에서 가장 기본적인 도형(simplex)을 사용하여, 이 문제를 풀면 그 이상으로 복잡한 다면체(ex. 사각형, 정육면체 등)로 해법을 확장할 수 있다.
Parametric Searching
주어진 직사각형 이 와 겹치는 여부를 확인하는 결정 알고리즘 가 있다고 치자. 결정 알고리즘의 각 실행 분기는 다각형 에 의해 결정되는 (의 변수에 대한) 다항식의 부호로 결정된다면, 이 문제에 Parametric search를 사용하여 실행 시간을 결정할 수 있다.
Case 1. 어떤 다각형 도형 가 에 포함될 때
각 도형의 내점(interior point) 를 뽑는다. (3개의 연속한 점 → 에서 방향으로 안에서 ray shooting → query와 answer의 중점. Simple polygon 안에서 이 과정은 시간안에 수행)
만일 이 를 포함한다면, 의 내점인 또한 에 포함된다. 한편, 가 에 포함되지만 가 에 포함되지 않을 수 있는데, 이 경우에는 반드시 이 의 간선과 교차하므로 Case 2에서 반드시 다뤄지게 된다. (그렇지 않을 경우 모순이 발생한다.)
이 문제는 개의 정점이 주어진 삼각형 내부에 없는지 판단하는 simplex range emptiness 문제로부터 환원 가능하다. Cole, Yap 두 사람이 두 가지 자료구조를 만들었는데, 그 중 하나가 전처리 후 안에 쿼리 가능하다.
Case 2. 어떤 다각형 도형 가 과 교차할 때
Ray shooting으로 해결할 수 있다. 사각형의 네 꼭지점이 장애물 안에 포함되어 있는지 먼저 확인하고(), 시계 방향으로 ray shooting을 실행하여 네 광선이 모두 사각형 밖으로 나가는 것과 동치이다. Chen, Wang은 2015년에 시간 안에 전처리를 마치고 안에 쿼리 가능한 ray shooting 자료구조를 설계하였다.
합하면?
두 메소드 모두 parametric search를 사용할 수 있다. 자료구조를 구성하는 데 걸리는 시간은 이다. 두 query 모두 실행 시간이 logarithmic이므로, 병렬화하지 않고 parametric search를 실행해도 큰 문제가 없으며 parametric search를 실행하는 데 드는 query 시간 복잡도는 이다.
이걸로 풀고자 하는 문제는 다음 이 시간에…
References
[1] Goswami, P. P., Das, S., & Nandy, S. C. (2004). Triangular range counting query in 2D and its application in finding k nearest neighbors of a line segment. Computational Geometry, 29(3), 163-175.
[2] Chazelle, B. (1988). An algorithm for segment-dragging and its implementation. Algorithmica, 3(1-4), 205-221.
[3] Benbernou, N. M., Ishaque, M., & Souvaine, D. L. (2008, August). Data structures for restricted triangular range searching. In 20th Annual Canadian Conference on Computational Geometry (pp. 15-18).
[4] Cole, R., & Yap, C. K. (1984). Geometric retrieval problems. Information and Control, 63(1-2), 39-57.
[5] Chen, D. Z., & Wang, H. (2015). Visibility and ray shooting queries in polygonal domains. Computational Geometry, 48(2), 31-41.