Extracting Silhouettes of a Polyhedral Model from a Curved Viewpoint Trajectory

곡선 궤적의 이동 관측점에 대한 다면체 모델의 윤곽선 추출

  • Published : 2002.06.01

Abstract

The fast extraction of the silhouettes of a model is very useful for many applications in computer graphics and animation. In this paper, we present an efficient algorithm to compute a sequence of perspective silhouettes for a polyhedral model from a moving viewpoint. The viewpoint is assumed to move along a trajectory q(t), which is a space curve of a time parameter t. Then, we can compute the time-intervals for each edge of the model to be contained in the silhouette by two major computations: (i) intersecting q(t) with two planes and (ii) a number of dot products. If q(t) is a curve of degree n, then there are at most of n + 1 time-intervals for an edge to be in a silhouette. For each time point $t_i$ we can extract silhouette edges by searching the intervals containing $t_i$ among the computed intervals. For the efficient search, we propose two kinds of data structures for storing the intervals: an interval tree and an array. Our algorithm can be easily extended to compute the parallel silhouettes with minor modifications.

컴퓨터 그래픽스 및 애니메이션에서 물체의 윤곽선 계산은 많은 응용분야에서 빈번히 사용되고 있으며, 윤곽선의 효율적인 계산 방법은 현재까지 많은 연구자들의 관심을 끌어왔다. 본 논문에서는 이동하는 관측점에 대해 다면체 모델의 투시 윤곽선을 계산하는 효율적인 알고리즘을 제시한다. 관측점이 시간에 따라 이동하는 경로는 시간을 나타내는 매개변수 t를 이용하여 곡선 q(t)로 표현한다. 다면체의 각 에지(edge)가 윤곽선에 포함되는 시간 간격 (time-interval)은 에지에 인접한 두 면의 supporting plane들과 q(t)의 교점 계산, 그리고 몇 차례의 벡터 내적을 수행함으로써 구해진다. 곡선 q(t)가 차수 n의 곡선이라면, 한 에지가 윤곽선에 포함되는 시간 간격은 최대 n + 1 개 존재할 수 있다. 미리 구해진 시간 간격들에 대해 고정된 시점 $t_i$를 포함하는 시간 간격들을 검색함으로써 관측점이 $q(t_i)$일 때 모델의 윤곽선에 포함되는 모든 에지를 구할 수 있다. 윤곽선 계산의 효율성은 시간 간격을 저장하는 자료구조 (data structure)와 밀접한 관련이 있으므로, 시간 간격을 저장하는 자료구조로서 인터벌 트리 (interval tree)의 사용을 제안한다. 또한, 제시된 알고리즘에 의해 윤곽선을 계산한 실험결과를 보인다.

Keywords