i
i
i
i
i
i
i
i
15.5. Cubics 359
endpoints as parameters and shares interior points with its neighbors), or if we
use the dependency scheme (such as the example one with the first endpoint and
midpoint), we end up with n +1controls for an n-segment curve.
Dependency schemes have a more serious problem. A change in one place in
the curve can propagate through the entire curve. This is called a lack of locality.
Locality means that if you move a point on a curve it will only effect a local
region. The local region might be big, but it will be finite. If a curve’s controls do
not have locality, changing a control point may effect points infinitely far away.
To see locality, and the lack thereof, in action, consider two chains of line
segments, as shown in Figure 15.5. One chain has its pieces parameterized by
their endpoints and uses point-sharing to maintain continuity. The other has its
pieces parameterized by an endpoint and midpoint and uses dependency propa-
gation to keep the segments together. The two segment chains can represent the
same curves: they are both a set of n connected line segments. However, because
of locality issues, the endpoint-sharedform is likely to be more convenient for the
user. Consider changing the position of the first control point in each chain. For
the endpoint-shared version, only the first segment will change, while all of the
segments will be affected in the midpoint version, as in Figure 15.5. In fact, for
any point moved in the endpoint-shared version, at most two line segments will
change. In the midpoint version, all segments after the control point that is moved
will change, even if the chain is infinitely long.
In this example, the dependency propagation scheme was the one that did not
have local control. This is not always true. There are direct sharing schemes that
are not local and propagation schemes that are local.
We emphasize that locality is a convenience of control issue. While it is in-
convenient to have the entire curve change every time, the same changes can be
made to the curve. It simply requires moving several points in unison.
15.5 Cubics
In graphics, when we represent curves using piecewise polynomials we usually
use either line segments or cubic polynomials for the pieces. There are a number
of reasons why cubics are popular in computer graphics:
• Piecewise cubic polynomials allow for C
2
continuity, which is generally
sufficient for most visual tasks. The C
1
smoothness that quadratics offer is
often insufficient. The greater smoothness offered by higher-order polyno-
mials is rarely important.