Optimal Algorithms for the Set Operations of Two Visibility Polygons in a Simple Polygon

단순 다각형 내부의 두 가시성 다각형에 대한 집합 연산을 수행하는 최적 알고리즘

  • 김수환 (부산외국어대학교 컴퓨터공학부)
  • Published : 2004.02.01

Abstract

The visibility polygon of a simple polygon P is the set of points which are visible from a visibility source in P such as a point or an edge. Since a visibility polygon is the set of points, the set operations such as intersection, union, or difference can be executed on them. The intersection (resp. union) of two visibility polygons is the set of points which are visible from both (resp. either) of the corresponding two visibility sources. The difference of two visibility polygons is the set of points which are visible from only a visibility source. Previously, the best known algorithm for the set operations of two polygons with total n vertices takes O(nlogn + k) time, where k is the output size. In this paper, we present O(n) time algorithms for computing the intersection, the union, and the difference of given two visibility polygons, which are optimal.

단순 다각형 P의 가시성 다각형을 점이나 에지와 같은 P에서의 가시원으로부터 가시적인 점들의 집합을 말한다. 가시성 다각형은 점들의 ,집합이므로 가시성 다각형들에 대해 교집합, 합집합, 차집합 등과 같은 집합 연산을 수행할 수 있다. 두 가시성 다각형의 교집합은 해당되는 두 가시원으로부터 동시에 보이는 점들의 집합이고, 합집합은 하나 이상의 가시원으로부터 보이는 점들의 집합이다. 두 가시성 다각형의 차집합은 하나의 가시원으로부터만 보이는 점들의 집합이다. 모두 n개의 정점을 가진 두 개의 일반적인 다각형에 대해 집합 연산을 수행하는 기존의 알고리즘으로 가장 효율적인 알고리즘은 O(nlogn + k) 시간이 소요된다, k는 집합 연산의 출력의 크기이다. 그러나 본 논문에서는 가시성 다각형의 특성을 이용하여 O(n) 시간에 교집합, 합집합, 차집합을 구하는 최적인 알고리즘을 제시한다.

Keywords

References

  1. F. D. Prepatata and M. I. Shamos, Computational Geometry: An Introduction, Springer-Verlag, 1985
  2. E. ElGindy, D. Avis, and G. T. Toussaint, 'A linear algorithm for computing the visibility polygon from a point,' J. Algorithms, Vol. 2, pp. 190-197, 1981
  3. D. T. Lee, 'Visibility of a simple polygon,' Computer Vision, Graphics, and Image Processing, Vol. 22, pp. 207 -221, 1983 https://doi.org/10.1016/0734-189X(83)90065-8
  4. D. Avis and G. T. Toussaint, 'an optimal algorithm for determining the visibility from an edge,' The Visual Computer, Vol. 2, pp. 342-357, 1986 https://doi.org/10.1007/BF01952419
  5. G. T. Toussaint, 'A linear time algorithm for solving the strong hidden line problem in a simple polygon,' Pattern Recognition Letters, Vol. 4, pp. 449-451, 1986 https://doi.org/10.1016/0167-8655(86)90043-7
  6. L. Guibas, J. Hershberger, D. Leven, M. Shri r, and R. E. Tarjan, 'Linear time algorithm for visibility and shortest path problems inside triangulated simple polygons,' Algorithrnica, Vol. 2, pp. 209-233, 1987 https://doi.org/10.1007/BF01840360
  7. P. J. Heffernan and S. B. Mitchell, 'Structured visibility profiles with applications to problems in simple polygons,' Proc. 16th Annual Syrnp. on Comput. Geometry, pp. 53-62, 1990
  8. S. H. Kim and K. Y. Chwa, 'An optimal algorithm for computing the edge visibility polygon from an edge of a simple polygon,' Proc. of KISS ConI., Vol. 17, No.2, pp. 769-772, 1990
  9. J. O'Rourke, Art Gallery Theorems and Algorithms, Oxford University Press, 1987
  10. M. Mckenna, 'Worst-case optimal hidden-surface removal,' ACM Tr. on Graphics, Vol. 6, pp. 1928, 1987 https://doi.org/10.1145/27625.27627
  11. S. S. Ahn, 'Output Sensitive Polygon Intersection,' MS thesis, KAIST, Korea, 1991
  12. H. G. Mairson and J. Stolfi, 'Reporting and counting intersections in the plane,' Tech Rep., Dept. of Computer Science, Stanford University, 1983
  13. G. T. Toussaint, 'A simple linear algorithm for intersecting convex polygons,' The Visual Computer, Vol. 1, pp. 118-123, 1985 https://doi.org/10.1007/BF01898355