초록
다각형 내부에 위치한 두 점 사이의 최단 경로는 다각형의 외부를 지나지 않는 경로 중에서 길이가 가장 짧은 경로를 말한다. 일반적인 단순 다각형에서 최단 경로를 구하는 선형 시간 알고리즘은 매우 복잡한 과정으로 알려진 삼각분할을 전처리과정으로 수행해야 한다. 따라서 이론적으로는 최적인 시간복잡도를 갖지만, 실제적으로는 구현이 어려울 뿐만 아니라 입력의 크기가 매우 크지 않은 한 수행 시간이 효율적이지 못하다. 본 논문에서는 다각형 내부의 모든 점들을 볼 수 있는 선분이 존재하는 다각형 부류인 선분가시 다각형의 내부에 위치한 두 점 사이의 최단 경로를 구하는 선형 시간 알고리즘을 제시한다. 이 알고리즘은 삼각 분할을 필요로 하지 않으며, 볼록 외피 구축 등 단순한 절차만으로 구성되어 있어 구현이 용이할 뿐만 아니라 수행 속도도 빠르다
The shortest path between two points inside a simple polygon P is a minimum-length path among all paths connecting them which don't pass by the exterior of P. A linear time algorithm for computing the shortest path in a general simple polygon requires triangulating a polygon as preprocessing. The linear time triangulating is known to very complex to understand and implement it. It is also inefficient in case that the input without very large size is given because its time complexity has a big constant factor. In this paper, we present the customized shortest path algorithm for a segment-visible polygon which is a simple polygon weakly visible from an internal line segment. Our algorithm doesn't require triangulating as preprocessing and consists of simple procedures such as construction of convex hulls, so it is easy to implement and runs very fast in linear time.