# Splines: General Discussion

We can represent a surface by a polygon mesh, where the polygons are usually planar. A second general method is by Parametric Bicubic Patches. We will start with parametric cubic curves and then discuss patches.

A normal 3D curve representation might be the following:

x = x, y = f(x), z = g(x)

There are potential problems with the above representation. It may be difficult to determine the start - end points of a curve segment, especially if the curve loops. We may need an infinite slope at some point on the curve, but this is difficult to represent using the above formulation.

So instead use the parametric form: P(t) = X(t), Y(t), Z(t) with 0.0 < t < 1.0 on the curve segment. Note that it is now easy to determine the end points since the start point corresponds to t = 0.0 and the end point corresponds to t = 1.0.

Then a parametric cubic curve is one for which X, Y, and Z are each represented as a cubic polynomial in t.

X(t) = axt^3 + bxt^2 + cxt + dx
Y(t) = ayt^3 + byt^2 + cyt + dy
Z(t) = azt^3 + bzt^2 + czt + dz

with 0.0 <= t <= 1.0

The derivatives are all of same form: dx/dt = 3axt^2 + 2bxt + cx

The 3 derivatives (dX/dt, dY/dt, dZ/dt) form the tangent vector (tangent to the curve at a value t). The slopes of the curve are the ratios of the tangent vector components:

For example : dY/dX = (dY/dt) /(dX/dt) so if dX/dt = 0 we have an infinite slope in dY/dX but not an infinite tangent vector. Why a cubic curve ? Why not quadratic ?

Look at matching up 2 curve segments:

C (0) = 0th order continuity (positions are the same)

C (1) = 1st order continuity (slopes are the same)

We want the curves to match at meeting of curve segments (position the same) and we want the slope to be the same. For example if we design an airplane wing with slope or position discontinuity: CRASH !

Here is an example of two curve segments with C(0) continuity but not C(1) continuity.

Since we may have many curve segments to match there are 4 conditions to be met :

Position and Tangent Vector at start point (t = 0) of second segment and end point ( t = 1) of first segment must be equal.

4 conditions requires > 4 coefficients ... at least a cubic curve. A cubic is also the lowest order parametric which can describe a non-planar curve.

1st order parametric => straight line
2nd order parametric => Plane
3rd order parametric => non-planar

Last changed April 01, 1998, G. Scott Owen, owen@siggraph.org