카디널 스플라인(Cardinal Splines)

카디널 스플라인은 캣멀-롬 스플라인과 동일하지만 텐션(Tension) 이라고 불리우는 파라미터가 하나 추가됩니다. 텐션은 0에서 1사이의 값을 가질 수 있습니다. 텐션이 0인 경우에는 그냥 캣멀-롬 스플라인일 뿐이죠. 텐션을 높이면 스플라인 내 모든 지점의 속도벡터가 작아지게 됩니다. 아래 그림을 통해 더 자세히 알아보도록 하죠.

먼저, 텐션이 0인 카디널 스플라인 입니다. (캣멀 롬 스플라인과 완전히 똑같습니다)

이제 텐션을 .5로 바꿔보겠습니다. (모든 지점에서의 속도가 121 \over 2로 작아진 캣멀-롬 스플라인 입니다)

텐션이 1인 카디널 스플라인 입니다. (모든 지점에서의 속도는 0 입니다)

카디널 스플라인의 수학적 계산

원하는 위치에 노트들을 배치합니다.(A, D 등등)

만약 N번째 지점을 PNP_N 이라고 한다면, N번째 지점에서의 속도 VNV_N 은 다음 공식으로 구할 수 있습니다. VN=(1tension)(PN+1PN1)/2V_N = (1 – tension)(P_{N+1} – P_{N-1}) / 2

즉, 점 P에에서의 속도는 [이전 점에서 다음 점을 가리키는 벡터의 일부분] 인 것입니다. 캣멀-롬 스플라인과 동일하지만 (1tension)(1 - tension)이 곱해지기 때문에 VNV_N이 축소되는 모습입니다.

Last updated