Continuity Question: Lagrange splines

I’ve been reading through several of Schillinger’s recent works and have a question with one in particular:

In it, Schillinger discusses extracting a geometrically exact Lagrange-spline curve from a C^2 cubic B-Spline:

My question is on the above caption and the following description of the extracted Lagrange-spline curve:

We observe that the Lagrange representation leads to exactly the same curve than the B-spline representation of Fig. 1a. In particular, the curve represented by Lagrange basis functions and
Lagrange control points is still higher-order continuous between curve segments, although the basis functions are C^0 continuous at element boundaries.

My understanding of continuity would lead me to believe that the B-Spline curve is C^2, but that the Lagrange-spline curve is geometrically exact, but C^0.

There is a distinction between the continuity of the resulting curve and the continuity of the basis used to represent it.

The first thing to understand is that every C^2 function is C^1 and every C^1 function is C^0. However, not every C^0 function is C^1 and not every C^1 function is C^2. This means that we can create C^2 functions from C^0 basis functions. The curve is C^2, but the basis used to build it isn’t.

Basically, every function that the B-spline can represent can also be represented by the C^0 Lagrange basis. These functions are still C^2 even though it is represented in a C^0 basis. However there are functions that the Lagrange basis can represent that are not C^2.

Generally, we use the continuity of the basis to say what the continuity of the curve is because as soon as we apply displacement, we will loose that higher order continuity if we did have it. For typical cases, the continuity of the resulting curves are AT LEAST of the same order of continuity as the basis.

This concept is key to understanding how extraction works. We can build these matrices that build the C^2 splines from the C^0 basis. The C^0 is easier to evaluate, but if they were actually used for simulation would introduce problems. The extraction operators are actually getting rid of all of those functions that are at most C^1 in this case.

Thanks @kyle. Your description is how I’ve generally understood continuity, particularly in how it applies to composite Bezier curves vs B-Spline curves. I guess my question is may be about terminology/vocabulary:

It’s clear to me that there’s a stark difference between “continuity of the resulting curve” and “continuity of the basis used to represent a curve”. Once while at Coreform in front of a whiteboard I thought I’d come to the conclusion that “G^n” was used to refer to the “continuity of the resulting curve” and “C^n” to refer to “continuity of the basis…”. Is this correct? Is there a shorthand to refer to the two continuities (resulting entity vs basis)?

My understanding of G^n vs C^n continuity is that it has more to do with physical vs parametric space. C^n is used more to represent continuity of the basis AND geometry with respect to the parametric space. This means that a C^1 curve has continuous derivatives when the derivatives are with respect to parametric space. Where G^n is used more to represent the continuity of the geometry with respect to physical space. This means that a G^1 curve has continuous derivatives when the derivatives are with respect to physical space.

To see the difference, consider two linear elements such that they are co-linear. Parametrically, each element is of length one. However, we can choose control points such that physically the two elements have different lengths. If we took the derivative of the geometry with respect to the parametric space we would find that it is discontinuous and therefore not C^1. However, if we took the derivative of the geometry with respect to physical space we could find that it is continuous as they are co-linear and so it is G^1.

So the curve could be G^1 but it could also be C^1. Typically, we care about if the geometry is G^n or if the basis is C^n. Most of the time, a basis with C^n continuity implies that the geometry is C^n as well as G^n. There are a few corner cases that don’t show up most of the time.

If those two linear elements were chosen such that physically they were the same length then they would be C^1 as well.

Thanks @kyle. So, just to summarize… If I want to have clear and consistent verbiage regarding continuity I should use the following:

  • “The spline basis functions are C^n continuous…”
  • “The spline curve is C^n continuous…”

As there is no shorthand that differentiates between the two cases (e.g. B^n for the former, and C^n for the latter).

As far as that goes, not really. Context usually will make it clear what you’re talking about in the case of C^n. I’ve never been confused by it.

There is one differentiation that can be made. G^n only makes sense in the case of curves. Control points have to be assigned for the derivatives used in G^n continuity to be defined. The control points are where the connection to physical space comes from.