A Cardinal spline( sometimes called Canonical spline )consists of a sequence of curves. Consider a single Cardinal segment:
\[
F(u) = C_0 + uC_1 + u^2C_2 + u^3C_3
\]
Suppose it starts at \(F(0) = P_i\) and ends at \(F(1)=P_{i+1}\). We don’t need to provide the tangent for each point because it can be calculated from two ajacent control points. The constrant equations are very similar to the Hermite spline:
\begin{align}
P_i &= F(0) = C_0 \\
P_{i+1} &= F(1) = C_0 + C_1 + C_2 + C_3 \\
P’_i &= k(P_{i+1} – P_{i-1}) = F'(0) = C_1 \\
P’_{i+1} &= k(P_{i+2} – P_i) = F'(1) = C_1 + 2C_2 + 3C_3
\end{align}
The parameter k is a tension parameter that must be in the interval [0,1]. Now, \(C\) can be represented as:
\begin{align}
C_0 &= P_i \\
C_1 &= -kP_{i-1} + kP_{i+1} \\
C_2 &= 2kP_{i-1} + (k-3)P_i + (3-2k)P_{i+1} – kP_{i+2} \\
C_3 &= -kP_{i-1} + (2-k)P_i + (k-2)P_{i+1} + kP_{i+2}
\end{align}
Then we get the Cardinal matrix \(A\) and \(C\) can be represented as:
\begin{align}
\begin{pmatrix} C_0 \\ C_1 \\ C_2 \\ C_3 \end{pmatrix} =
\begin{pmatrix}
0 & 1 & 0 & 0 \\
-k & 0 & k & 0 \\
2k & k-3 & 3-2k & -k \\
-k & 2-k & k-2 & k
\end{pmatrix}
\begin{pmatrix} P_{i-1} \\ P_i \\ P_{i+1} \\ P_{i+2} \end{pmatrix}
\end{align}
Now we can derive the Cardinal basis:
\[
\eta = \left \{ -ku + 2ku^2 – ku^3, ~~~ 1 + (k-3)u^2 + (2-k)u^3, ~~~ ku + (3-2k)u^2 + (k-2)u^3,~~~ -ku^2 + ku^3 \right \}
\]
Catmull-Rom spline is a special case of a Cardinal spline. Choosing tension parameter \(k = \frac 1 2\) yields the basis:
\[
\eta = \left \{ -\frac 1 2 u + u^2 – \frac 1 2 u^3, ~~~ 1 -\frac 5 2 u^2 + \frac 3 2 u^3, ~~~ \frac 1 2 u + 2u^2 -\frac 3 2 u^3,~~~ -\frac 1 2 u^2 + \frac 1 2 u^3 \right \}
\]
Leave a Reply