B-스플라인 곡선

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

B-스플라인 곡선 (B-spline curve)은 주어진 여러 개의 점에서 정의되는 부드러운 곡선이다. 각 구간별로 별도의 다항식으로 표현되기 때문에 일부의 제어점을 변경해도 전체 곡선에는 영향을 미치지 않는 성질이있다. 베지어 곡선과 함께 컴퓨터 그래픽 분야에서 널리 이용된다. B-spline은 Basis spline (Basis = 기저)의 약어로서, 기본적으로 곡선은 제어점을 통과하지 않는다.

정의[편집]

제어점을 Pi이라 하면、n차의 B-spline곡선

\mathbf{S}(t)= \sum_{i=0}^{m-n-2} \mathbf{P}_{i} b_{i,n}(t) \mbox{ , } t \in [t_{n},t_{m-n-1}].

으로 표현된다。여기서、ti은 마디(knot)라고 불리는m개의 실수이다。

t_0 \le t_1 \le \cdots \le t_{m-1}

또한、bi,nB-스플라인 기저함수(B-spline basis function)이고、de Boor Cox의 점화식에 의해 다음과 같이 정의된다。

b_{j,0}(t) := \left\{
\begin{matrix} 
1 & \mathrm{if} \quad t_j \leq t < t_{j+1} \\
0 & \mathrm{otherwise} 
\end{matrix}
\right.,\qquad j=0,\ldots, m{-}2
b_{j,n}(t) := \frac{t - t_j}{t_{j+n} - t_j} b_{j,n-1}(t) + \frac{t_{j+n+1} - t}{t_{j+n+1} - t_{j+1}} b_{j+1,n-1}(t)
,\qquad j=0,\ldots, m{-}n{-}2.