스플라인(Splines)

지금까지 곡선에 대해서 충분히 배운것 같습니다.

이제 스플라인이 뭔지 알아보도록 하죠.

스플라인이란 곡선들이 이어진 모습이라고 보면 됩니다.

각 곡선들을 이어주는 지점을 노트(knot)라고 부릅니다. 이전 곡선의 끝점과 다음 곡선의 시작점을 연결시켜주는 부분이죠.

베지어 곡선에서 파라미터 t를 사용하여 곡선 위의 지점을 구했는데, 스플라인에서도 마찬가지로 t값에 대해서 생각해볼 수 있습니다. 조금 다른 부분은 전체 스플라인에 대한 t값과 각각의 곡선에 대한 t값으로 구분지어 생각할 수 있다는 것이죠.

스플라인에서의 t값(spline_t)

0부터 시작해서, 스플라인의 끝에 도달하기 전까지 계속 증가합니다.

하나의 곡선 안에서의 t값(local_t)

각 곡선의 시작점에서 0으로 초기화 됩니다.

4개의 곡선으로 된 스플라인을 예로 들겠습니다. 0.0 ~ 4.0까지 보간하는 spline_t값이 있는데, 만약 spline_t가 2.67이라면 다음과 같이 생각할 수 있습니다.

세번째 곡선(0, 1, 2, 3)에서 67% (local_t = .67) 즉, 2.67에 해당하는 지점은 curve[2].EvaluteAt(.67) 로 구할 수 있는 것입니다.

P(2.67) = curve[2].EvaluteAt(.67)

아래 그림과 함께 spline_t를 0.0 에서 4.0까지 보간해 보겠습니다.

Last updated