The author’s interest in cubic splines comes from the problem of making key-framed animations in computer graphics. To produce computer animations the user specifies specific positions and orientations of objects at certain points in time [t1, t2, …, tn]. These points are called key-frames. It is left up to the computer to interpolate the positions and orientations between these key-frames in order to make enough frames to produce an animation. Additionally the user usually wants some degree of smoothness in this interpolation.
The complete animation path of one object in space is given by a function f: [t1,tn] → ℝ3×SO(3). The problem is for the computer to find a suitable function such that for all i, f(ti) has the specified position and orientation. The problem of finding f can be divided into finding the two components:
where f(t) = (f1(t), f2(t)).
One method of interpolating between key-frames by connecting them with geodesics. Although this method generates a continuous function, in general the function fails to be C1 continuous. This means that there will be instantaneous changes in velocity and angular velocity during the animation. Generally one wants more smoothness from the interpolation than this.
A common method for generating a C1 function for f1 is by using cubic polynomials. Assume for the moment that somehow at each time ti a derivative f1′(ti) has been specified. For instance, the derivative could be generated by averaging the derivatives of geodesics that connect to the adjacent key-frames, or the user could specify the derivative in addition to the position. In any case, there is a unique cubic polynomial p defined on [ti,ti+1] such that
A piecewise cubic polynomial created in this manner is C1 continuous because the first derivatives match up at the key-frames.
Because the interest is in animation, one cares about the complete parametric function, and not just the image the function has. In particular, different reparameterization of a function will be considered different.
The interpolation problem is solved over ℝ3, but what about SO(3)? The rest of this paper will give the basic theory of cubic polynomials over general Riemannian manifolds. How to compute such curves will not be discussed. From here on we will focus on the problem of finding an interpolating function f : [a,b] → M on a complete n-dimensional Riemannian manifold M subject to the conditions
There are many smooth functions that could be used to interpolate between the given points and the given tangent vectors. In the case of Euclidean space, the cubic polynomial solution is the unique solution that minimizes the functional J : Ω → ℝ
where Ω is the space of all C1 piecewise smooth functions [a,b] → M.
This quantity, J(f), is basically a measure of the total acceleration of the curve. We will call any function which is a critical point of J a cubic polynomial.
Theorem. A curve f : [a,b] → M is a cubic polynomial if and only if it is smooth and it satisfies the fourth-order differential equation
where R is the curvature of M.
Proof. See Noakes, Heinzinger and Paden, p. 468, Theorem 1.
This formula is the Euler-Lagrange equation. In the special case of Euclidean space R = 0 and the Euler-Lagrange equation reduces to
and this implies that f is a cubic polynomial.
The Euler-Lagrange equation gives necessary conditions for finding the minimum of the functional J. To find sufficient conditions for a function f to locally minimize J, it is useful to study Jacobi fields along the curve f. The development of Jacobi fields on cubic polynomials parallels the development of Jacobi fields for geodesics. For example, Lee gives a presentation of the theory of geodesics.
The development is so similar that one might hope that one could describe it by using the theory of geodesics on TM with a suitable metric. Camarinha shows that for a generalization of cubic polynomials called elastic curves, such a reduction is possible by using the Sasaki metric; however in the specific case of cubic polynomials, the reduction does not work.
Any vector field along a cubic polynomial that satisfies the Jacobi equation is called a Jacobi field. These definitions of Jacobi fields and Jacobi equations parallel the same definitions in the geodesic case. For comparison, the Jacobi equation for a field W on a geodesic γ is
We define a Jacobi variation of a cubic polynomial f to be a smooth function Γ : ]-ε,ε[×[a,b] → M such that
For each Jacobi variation Γ we define an associated variational vector field W by
Theorem. The associated variational vector field W of a Jacobi variation Γ is a Jacobi field. Also every Jacobi field W is the variational vector field for some Jacobi variationΓ.
Proof. See Camarinha, Silva Leite and Crouch, p. 117. Theorem 4.2.
Since the Jacobi equation is a linear fourth order differential equation, each Jacobi field W is uniquely determined by its value at a and its first three covariant derivatives at a.
Each cubic polynomial f admits two trivial Jacobi fields the same way that each geodesic γ admits two trivial Jacobi fields. The first field is W=Tf and the second field is W=tTf. These are the associated variational vector fields of Γ(s, t) = f(s+t) and Γ(s, t) = f(est) respectively.
These trivial Jacobi fields arise from trivial reparameterizations of the cubic polynomial f. In the case of geodesics the class of normal Jacobi fields are studied. It can be shown that for Jacobi fields W of geodesics γ there are α, β : ℝ such that <W(t), Tγ(t)> = αt + β. This function is identically 0 when W is a normal Jacobi field. We cannot expect to have this same property in the case of cubic Jacobi fields, but there is a similar relation.
Theorem. For any Jacobi field W along a cubic polynomial f : [0,b] → M
Proof. See Camarinha, Silva Leite and Crouch, p. 114. Lemma 3.3.
Most Jacobi fields W can be decomposed into the sum of three Jacobi fieldsW = δ1Tf + δ2tTf + Z where δ1, δ2 : ℝ. Z can be thought of the non-trivial portion of the Jacobi field W. In fact <Dt2Z, Tf> - 2<DtZ, DtTf> + 3<Z, Dt2Tf> = 0. This fact is stated in the following theorem.
Theorem. If 2<Dt2Tf, Tf> - <DtTf, DtTf> ≠ 0 then every Jacobi field W along a cubic polynomial f can be uniquely decomposed into the form W = δ1Tf + δ2tTf + Z where δ1, δ2 : ℝ and Z is a Jacobi field such that <Dt2Z, Tf> - 2<DtZ, DtTf> + 3<Z, Dt2Tf> = 0.
Proof. See Camarinha, Silva Leite and Crouch, p. 115, Theorem 3.4.
Even in the geodesic case, there fails to be a unique decomposition in the case that Tγ = 0. The case 2<Dt2Tf, Tf> - <DtTf, DtTf> = 0 in the above decomposition theorem is somewhat analogous to the geodesic case where the geodesic is just a single point.
The discussion of Jacobi fields has focused on cubic polynomials in general. However for our interpolation problem we are interested in cubic polynomials that interpolate between end points having given tangent vectors. In general it is possible that there may not be one unique cubic polynomial that interpolates the endpoint conditions. In some cases one can find a Jacobi variation of a cubic polynomial f where all curves in the family satisfy the the end point conditions. When this happens the two endpoints are considered conjugate along the curve f. The notion of being conjugate is slightly more general and is given in the following definition
The conjugate points have a multiplicity equal to the dimension of the subspace of all such Jacobi fields.
This definition of conjugate points is analogous the the definition of conjugate points for geodesics. The results about conjugate points on cubic polynomials are also similar.
Theorem. If a and b are not conjugate along a cubic polynomial f, then any Jacobi field W along f is uniquely determined by its values of
Proof. See Camarinha, Silva Leite and Crouch, p. 118, theorem 5.2.
For a cubic polynomial f define TfΩ to be the space of C1 piecewise smooth vector fields X on f satisfying
Using the tool of Jacobi fields we can now turn out attention to finding a sufficient condition for a cubic polynomial f to be a local minimum of our functional J. The idea is to create a second derivative test for our functional J. There is a symmetric bilinear form on TfΩ on f called the index form.
where F is defined as before.
Theorem. If f is a cubic polynomial, that locally minimizes J, then If is positive semi-definite.
Theorem. If f is a cubic polynomial and there are two points t1 and t2 which are conjugate along f, then there is some vector field X on f such that If(X, X) < 0. Hence f does not minimize J.
Proof. See Camarinha, Silva Leite and Crouch, p. 123, theorem 7.2.
We also have that sufficiently small segments of cubic polynomials are local minimizers of J.
Theorem. For a cubic polynomial f, if [a,b] is sufficiently small then f is a local minimizer of J and a and b are not conjugate alongf.
Proof. See Camarinha, Silva Leite and Crouch, p.129-130, Corollary 8.3 and Corollary 8.4.
The analogue of the Morse index theorem holds in the case of cubic polynomials as well. For a cubic polynomial f define the index of If to be the maximal dimension of a subspace of TfΩ where If is negative definite.
Theorem. The index of If is equal to the number of points t0 : ]a,b[ which are conjugate to a along f counted with its multiplicity.
Finally it can be show that there are globally minimizing functions on J. Let H2([a, b]; ℝn) ⊆ L2([a, b]; ℝn) denote the Sobolev space of C1 functions having all their first and second derivative in L2([a, b]; ℝn). Let H2([a, b]; M) be the set of all functions f : [a, b] → M such that whenever (U, φ) is a local chart of M and I ⊆ [a, b] is a closed subinterval such that f(I) ⊆ U, then φ∘f|I ∈ H2(I; ℝn). Finally, given p, q : M, and ξ : TpM and η : TqM, let H2ξ, η be the set of all functions f ∈ H2([0, 1]; M) such that f(0)=p, f(1)=q, Tf(0)=ξ, and Tf(1)=η. On this set the existence of a global minimizer can be shown.
Theorem. The functional J attains its minimum on H2ξ, η.
Proof. See Giambò, Giannoni and Piccione, p.451, Proposition 3.3.