Introduction
Selecting a parametric curve type for animation invokes a compromise in the continuity, locality, and data accuracy of the final representation. Popular choices are :
Previous Work
The literature on parametric curves is voluminous and well -developed. A variety of exhaustively studied curves exist that satisfy a broad range of representation objectives. With respect to C2 continuity, interpolation, and local control, any of these curves can provide at most two of these three features. Most notably among these are the well known C2 interpolating cubic spline and the more obscure "blended parabolas" curve. The C2 interpolating cubic spline (known in advance of this work) is an obvious choice for a curve that must interpolate the data in a C2 manner. Of course, the sacrifice comes from relinquishing local control of the curve by the individual control points. The piecewise cubic segments of this curve are computationally costly to ascertain because they involve the solution of system of equations linear in the amount of data. The implied data interdependence of this solution technique not only accounts for the achievement of C2 continuity throughout, but also suggests how local control is lost. Though a general spline of this form is guaranteed to "wiggle" universally in response to the manipulation of any control point, it is hoped that in practice the effects on distance curve segments are negligible.
In contrast, the "blended parabolas" curve (learned of after this work was finished) achieves local control and interpolation at the cost of continuity. The curve is conceptually and computationally elegant in comparison to the C2 interpolating cubic spline. This approach is based on the observation that any set of three control points defines an interpolating quadratic, and thus any set of four control points define two quadratics. The first quadratic, defined by points 1, 2, and 3, overlaps the second quadratic, defined by points 2, 3, and 4, in the region from point 2 to point 3. A cubic polynomial is obtained by linearly interpolating between the first and second quadratics between these points (i.e. the product of a linear weight and a quadratic curve is a cubic, and the sum of two cubics is another cubic). Proceeding in this fashion through consecutive groupings of 4 control points, a curve is generated that passes through all of its control points. Since a cubic segment is completely determined by four control points, an edit at control point will only effect the fixed number of cubic segments associated with that control point. By construction, this curve is C0 continuous, and the linear interpolation also forces C1 continuity.
This "blended parabolas" technique can be considered a specific instance of the more general scheme proposed here. Our technique is particularly novel in terms of its derivation. Popular parametric curves are derived by formulating constraints on the relationship between participating points. These conditions are then applied to the curve (such as the derivative relationship of Hermite splines). Conversely, we specify the desired properties of a curve, pose these properties in terms of the unknown polynomial representation, and then ascertain the role of generic points in the computation of those parameters. Though this framework seems to parallel that of other parametric curve forms, our technique yields two piecewise polynomials and a two weighting functions to interpolate between them. The piecewise polynomials ensure interpolation, and their locality preserves local control. In turn, the weighting functions negotiate between the continuity and interpolation constraints.
The exposition on details of this technique can be read here.
The computations can be reviewed here.
Conclusion
This curve is quite a novelty. It delivers all of the features that it promises, and performing control points has a similar feel to a car's accelerator. This is expected since the placement of control points has directed consequence on the higher order behavior of the curve. A simple instructional curve editor is available here. It uses the mouse to add and move control points in a window (right button deletes control points). The bounding parabolas are depicted to demonstrate how a curve's local properties are obtained as well as to show the projected impact of a control point edit. The first and second derivatives of the represented curve are also visualized.
References