카디널 스플라인은 캣멀-롬 스플라인과 동일하지만 텐션(Tension) 이라고 불리우는 파라미터가 하나 추가됩니다.
텐션은 0에서 1사이의 값을 가질 수 있습니다.
텐션이 0인 경우에는 그냥 캣멀-롬 스플라인일 뿐이죠.
텐션을 높이면 스플라인 내 모든 지점의 속도벡터가 작아지게 됩니다.
아래 그림을 통해 더 자세히 알아보도록 하죠.
먼저, 텐션이 0인 카디널 스플라인 입니다.
(캣멀 롬 스플라인과 완전히 똑같습니다)
이제 텐션을 .5로 바꿔보겠습니다.
(모든 지점에서의 속도가 21로 작아진 캣멀-롬 스플라인 입니다)
텐션이 1인 카디널 스플라인 입니다.
(모든 지점에서의 속도는 0 입니다)
카디널 스플라인의 수학적 계산
원하는 위치에 노트들을 배치합니다.(A, D 등등)
만약 N번째 지점을 PN 이라고 한다면,
N번째 지점에서의 속도 VN 은 다음 공식으로 구할 수 있습니다.
VN=(1–tension)(PN+1–PN−1)/2
즉, 점 P에에서의 속도는 [이전 점에서 다음 점을 가리키는 벡터의 일부분] 인 것입니다.
캣멀-롬 스플라인과 동일하지만 (1−tension)이 곱해지기 때문에 VN이 축소되는 모습입니다.