Creases and boundary conditions for subdivision curves

Our goal is to ﬁnd subdivision rules at creases in arbitrary degree subdivision for piece-wise polynomial curves, but without introducing new control points e.g. by knot insertion. Crease rules are well understood for low degree (cubic and lower) curves. We compare three main approaches: knot insertion, ghost points, and modifying subdivision rules. While knot insertion and ghost points work for arbitrary degrees for B-splines, these meth-ods introduce unnecessary (ghost) control points. The situation is not so simple in modifying subdivision rules. Based on subdivision and subspace selection matrices, a novel approach to ﬁnding boundary and sharp subdivision rules that generalises to any degree is presented. Our approach leads to new higher-degree polynomial subdivision schemes with crease control without introducing new control points. (cid:2) 2014 The Authors. Published by Elsevier Inc. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/3.0/).


Introduction
We wish to have arbitrary-degree subdivision surfaces with creases and boundary conditions that are as robust as those available for B-spline surfaces [8].The existing methods for degree 3 do not generalise to higher degrees.We have analysed the problem and provide a general solution, with specific worked examples for degrees up to 7. We present here our results for curves, which provide the necessary precursor to the more challenging surface cases.
Sharp creases and end-point interpolation (including Bézier end-conditions) in B-spline curves (and by extension in tensor-product B-spline surfaces) are typically achieved via multiple knots.Indeed, a knot of multiplicity m reduces the continuity of a degree d B-spline to C dÀm from the native C dÀ1 continuity at single knots.Thus, to create a crease, a knot of multiplicity d can be used.To achieve Bézier end-conditions, knots of multiplicity d þ 1 are included at the start and end of knot vectors.
Instead of using multiple knots to achieve end-point interpolation, one can use ghost (also known as phantom or virtual) points.Depending on degree, several ghost points are pre-and appended to the control polygon.These are carefully placed (as linear combinations of existing control points) so that the resulting curve satisfies given end-conditions.This technique yields modified basis functions formed as linear combinations of B-splines.
A popular alternative to using basis functions to evaluate spline curves and surfaces is recursive subdivision [18,20].Creases and boundary interpolation rules can still be obtained via multiple knots [17,16,12], but there is an alternative available: smooth subdivision rules are modified to sharp ones [9,7].This has the advantage over multiple knots that the user does not need to interact with the knot vector.The user marks control vertices of a curve (edges in the surface case) as smooth (default) or sharp.This leads to an intuitive modelling interface as no extra control points are introduced, in contrast to knot insertion.
Motivated by these observations and the fact that sharp rules have so far been limited to low-degree subdivision [7,1,17,15,16,11,10], we investigate a more general setting for introducing sharp creases and boundary interpolation rules in higher-degree spline curves.Our results then extend naturally to tensor-product surfaces and potentially to higher-degree subdivision surfaces, such as those by Stam [24] and Cashman [2].
The problem of finding crease rules, and our approach to solving it, comprise our main contribution (Section 3).We present case studies for odd degrees (Section 4) and the more challenging even degrees (Section 5), demonstrated on examples of B-spline subdivision curves with creases.We show that relaxing some of our requirements (Section 6) leads to interesting trade-offs between the simplicity of subdivision rules and the behaviour of subdivision curves at creases and end-points.Before all this, we present our notation and a summary of the necessary underlying B-spline theory.

Preliminaries
Consider a polynomial spline curve of degree d and order k ¼ d þ 1 given by the knot vector t ¼ ðt 0 ; t 1 ; . . .; t nþd Þ; t i 6 t iþ1 , where i ¼ 0; . . .; n þ d À 1, and by n control points P i : The B-splines B i;k are defined recursively [6]: with the convention 0 0 ¼ 0. It is typically required that t i < t iþd for all i ¼ 1; . . .; n À 1. From this definition it follows that the support of B i;k , i.e., the closure of the interval where it is non-zero, is ½t i ; t iþk .
While many of the ideas that we explore below can be applied in the general setting of non-uniform knot vectors, we focus on initially uniform knot vectors t i ¼ i, but knots are subsequently allowed to become multiple.An example of uniform B-splines is shown in Fig. 1a.To achieve Bézier end-conditions, an open-uniform knot vector (end knots have multiplicity k) can be used; see Fig. 1b.

B-spline creases
The typical B-spline approach to creating sharp creases is by using multiple knots.This follows from the fact that the continuity of a B-spline of degree d at a knot of multiplicity m is C dÀm .In the cubic case, a triple knot is used.For an existing curve, there are two variants.First, one moves two knots to create three coalescing knots, i.e., a triple knot; see Fig. 1c.Second, one inserts a desired knot several times until its multiplicity reaches m ¼ d; see Fig. 1d.This introduces new control points that the user can freely move around.While valid and popular, these solutions are not ideal, especially when generalised to tensor-product surfaces, for the following reasons: the user needs to have access to the knot vector and understand how creating and moving multiple knots influences the shape of a curve or surface; The effect of a triple control point (cyan) and the corresponding basis.(f) Ghost points can be used to force end-point interpolation without modifying the knot vector.(g) Modifying subdivision rules to allow for control points to be tagged either as smooth (default) or sharp (green) offers intuitive control over the resulting spline.End-points are marked as sharp implicitly even for smooth curves (shown in grey) that have no internal points marked as sharp.(For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.) in the surface case, one cannot use a (multiple) knot locally; a knot line must run across the whole surface or form a closed loop.
Due to the local convex hull property of B-splines, coalescing control points can be used to force cðtÞ to interpolate a control point.Indeed, d superimposed consecutive control points create a crease in a degree d spline.A cubic example with a triple control point (cyan) is shown in Fig. 1e.Note that the basis function corresponding to the triple control point is given as the sum of three B-splines.
In simple modelling systems which do not allow the user to modify knot vectors, multiple coalescing control points may be the only approach available to obtain creases without splitting a curve into several pieces.However, this method suffers from several disadvantages: Due to the flatness of the basis function corresponding to the multiple control point (see Fig. 1e, right), a uniform sampling of the parameter interval leads to a highly non-uniform and dense distribution of points on the spline in the neighbourhood of the multiple control point.Multiple control points, especially for higher degree splines, are difficult to handle for the user and have to be handled properly by the system to avoid unexpected effects and loss of control.In the surface case, d 2 coalescing control points are required to force interpolation in a bi-degree d patch and the resulting shape is typically undesirable.
We do not pursue multiple control points any further.
A much cleaner approach is based on ghost control points [21,23,13]; see Fig. 1f.In the cubic case, one adds an extra ghost point P À1 to the control polygon ðP 0 ; P 1 ; . ..Þ of a curve and requires the spline to interpolate P 0 for t ¼ 0. In the uniform case, using e.g.blossoming [19] or (1), this leads to or equivalently P À1 ¼ 2P 0 À P 1 .The curve then changes to with B À1;4 defined by the local knot vector ðÀ1; 0; 1; 2; 3Þ.Thus the new basis, truncated at t ¼ 0, becomes An example with ghost points is shown in Fig. 1f.It then follows that c g ð0Þ ¼ P 0 ; c 0 g ð0Þ ¼ P 1 À P 0 ; c 00 g ð0Þ ¼ 0: ð4Þ Compared to cðtÞ defined over an open-uniform knot vector with leading to Bézier end-conditions, the second derivative and curvature of c g ðtÞ vanish at t ¼ 0. While this is acceptable in computer graphics, vanishing curvature can be undesirable in CAD applications.One can proceed similarly and use ghost points for higher degrees as well.For example for d ¼ 5, one can introduce two ghost points, P À1 and P À2 , and require that cð0Þ ¼ P 0 and c 0 ð0Þ ¼ aðP 1 À P 0 Þ.This leads to Consequently, with the choice of a ¼ 24 giving the endderivative P 1 À P 0 , one obtains the basis, again truncated at t ¼ 0, shown in Fig. 2. Other choices of a are possible.

Creases in subdivision curves
We now switch the view on the splines considered above from basis-centred to subdivision-centred.It is well known (see e.g.Chapter 32 of [20]) that the subdivision matrix S u for uniform cubic B-splines reads . . .  . . .
In the case of the cubic basis (3) constructed using ghost points, the subdivision matrix T is easily verified to be 8 0 0 0 0 4 4 0 0 0 Note that only one row, the first one corresponding to the end point, in T is different from the rows of S u in (8).It follows that a subdivision implementation based on T is much simpler than that based on S, yet achieves similar effects; compare the curve in Fig. 1b to that in Fig. 1f.Moreover, using T, one can simply mark control points as smooth or sharp, thus changing subdivision rules from ½1; 6; 1=8 to ½8=8 as requested by the user.The rule ½4; 4=8 always stays the same.An example is shown in Fig. 1g, which should be compared with Fig. 1c.This idea appeared, in the surface case, in [9,7] for Loop and Catmull-Clark subdivision surfaces, respectively.A natural question arises: Can one obtain similar results for higher degree splines, including subdivision rules for sharp creases and boundaries?
Let us inspect the quintic basis (7).It turns out that while this basis gives creases and good end-conditions, it is not subdivision-suitable.By that we mean that there is no subdivision matrix T that links the basis (7) to its uniformly refined counterpart with knots inserted into the middle of every knot interval.The intuition behind this fact is simple: only four basis functions overlap the first knot span ½0; 1 and thus the basis does not possess full quintic reproduction there; see Fig. 2. In fact, one can show, e.g. using the methods developed in Section 3, that no choice of a in (6) gives a subdivision-suitable basis.Hence one cannot trivially extend the method of [7] to handle higher degrees and some new method must be sought.

Subdivision crease rules
Our goal is to find subdivision rules at creases in arbitrary degree subdivision for piece-wise polynomial curves, but without introducing new control points e.g. by knot insertion.We want the cubic solution (10) to be only a special, degree three case of a more general approach.
Sharp creases and boundary conditions are basically equivalent, so we simply focus on boundary conditions only.Crease rules can be obtained from boundary rules by symmetry.
We want to construct a new curve subdivision scheme, with basis functions collected in a vector N, that produces piece-wise polynomial curves of degree d and with the same continuity as B (i.e., C dÀ1 at all knots except C 0 at 0).We require the number of basis functions in N to be the same as for a uniform B-spline basis with no knots multiple.The idea here is that we do not want any extra control structures, only the original polygon with vertices marked as either smooth or sharp, in the spirit of [7].This may not be so important in the curve case, but is of paramount importance on (subdivision) surfaces.Thus sufficiently far from t ¼ 0; N should be identical to B, but locally at t ¼ 0; N should have D ¼ ðd À 1Þ=2 fewer basis functions than B for odd degrees; see Fig. 3.In the case of even degrees, the difference is either D ¼ d=2 À 1 or D ¼ d=2 basis functions; see Section 5 for more details on the choice of D.
Since B forms a basis of the space whose subspace we want to span by N, a subspace selection matrix M exists such that N ¼ BM.Let S be the subdivision matrix for B, i.e., B ¼ bS, where b is the refined basis over the finer knot vector s ¼ ½0; . . .; 0; 1; 2; 3; 4; . . .with the knot at 0 of unchanged multiplicity k.
We want N to be subdivision-suitable, so we require that N ¼ nT for some subdivision matrix T, where n is the refined version of N defined over s.Also, at the finer level, n ¼ bM must hold.
Putting all four matrix equations together Since b forms a basis, we obtain that

SM ¼ MT: ð13Þ
In this equation for a particular degree d; S is known; it is simply the B-spline subdivision matrix at a knot of multiplicity d þ 1 giving Bézier end conditions.If either M or T are known, one can solve a system of linear equations to get the other.However, in general, neither M nor T are known, and one obtains a system of bilinear equations in the coefficients of M and T. Thus, the overall algebraic degree of the problem can be very high.Not even modern computer algebra systems can solve such a matrix equation in general.We now look at ways of simplifying the matrix equation by inspecting the structures of the matrices involved.

The matrix M
We require the coefficients of M to satisfy the following conditions (further discussion can be found in Section 6): (M1) The matrix M creates the new basis N from B. As B and N partition unity, the rows of M must sum to one.(M2) The support widths of basis functions of N should not exceed the support width of the uniform Bspline B dþ1 , which is equal to d þ 1.Thus it follows that M i;1 ¼ 0 for i > D þ 1 and similarly for other columns of M. (M3) Looking at boundary derivatives, it is undesirable for the r-th derivative, 0 6 r 6 d, of the new spline at 0 to be influenced by more than r þ 1 consecutive control points (e.g. the derivative c 0 ð0Þ should only depend on P 0 and P 1 , and not on P 2 ).Since B ðrÞ i ð0Þ -0 for 1 6 i 6 d þ 1 and i À 1 6 r 6 d, it follows that all the entries to the right of the main diagonal of M have to be zero, i.e., M i;j ¼ 0 for all i < j.In particular, combining this with (M1) yields M 1;1 ¼ 1 and M 1;j ¼ 0 for all j > 1. (M4) For a given degree d, the first uniform B-spline (not influenced by the multiple boundary knot) is given by B dþ1 .Thus, it is reasonable to require that N iÀD ¼ B i for all i > d; see Fig. 3. Hence, the bottom right block of M is the unit matrix with the 1s corresponding to M i;iÀD ¼ 1 for all i > d.Moreover, the elements of M above and to the left of this unit block are zero.(M5) [Optional] To guarantee cð0Þ -0 for generic control polygons, we require M 2;1 -1.This softer condition appears desirable, but (as is shown later) we may need to violate it.
Consequently, the matrix M assumes the form where 0 is a block of zeros and each block's superscript denotes its size (rows Â columns).I is the infinite unit matrix.Only the block c M, which is lower triangular with bandwidth ðD þ 1Þ due to (M3), is of interest.

The matrix S
The subdivision matrix S for B-splines can be found using e.g. the Oslo algorithm of [5].In the cubic case with an open-uniform knot vector it takes the form (9). For a general degree d the matrix S has the structure where the block denoted by b S has entries influenced by the multiple knot at t ¼ 0, and S u is the subdivision matrix for uniform B-splines, whose columns, i.e., subdivision masks, are given by scaled binomial coefficients; cf.(8).

The matrix T
We now look at the structure of T.
(T1) Since T is a subdivision matrix, its rows (stencils) sum to 1. (T2) Due to (M4), from the ðd À D þ 1Þ-th column onward the mask has to be that of a uniform B-spline of degree d. (T3) Using the support width of N 1 , we see that only the first D þ 2 basis functions of n can contribute to form N 1 .Thus, T i;1 ¼ 0 for all i > D þ 2 and analogously for other columns of T.Moreover, turning to (M3) and the derivatives of N and n at zero, and the fact that we deal with binary subdivision, it follows that T i;j ¼ 0 for all i > 2j þ D and T is lower triangular.(T4) [Optional] To guarantee polynomial reproduction up to degree at least d À D À 1 at t ¼ 0, we require T i;i ¼ 1 2 iÀ1 for i ¼ 1; . . .; d À D; see [25].This is a soft condition, and, as (M5), is mentioned explicitly when invoked.
Consequently, T has its structure similar to that of S. Indeed, Having now determined the general form of the three matrices, we turn to consider specific examples.

Odd degrees
We start by looking at odd degrees.Even degrees are discussed in Section 5.

Degree 3
In the case of degree three, D ¼ 1 and S is given in (9).Due to conditions (M1)-(M4), we expect c M to be of the form with one unknown parameter, m 1 .
Defining cðtÞ ¼ P nÀ1 i¼0 N i;k ðtÞP i and looking at the value and (right) derivative of the resulting curve at zero, we obtain Thus if one desires the end derivative to be generically non-zero, m 1 must differ from 1, as (M5) dictates.
In the case of T we have where the uniform masks are shown in bold; see (T2).This leaves T with two unknown parameters, t 1 and t 2 .
Forming SM ¼ MT (see ( 13)) gives the following system of three equations for three unknowns with the corresponding matrices (we omit . . .from now on) The first solution is the one encountered in (10) and confirms that this subdivision matrix leads to piece-wise cubic curves with creases.The corresponding basis functions are obtained from N ¼ BM; see Fig. 1f.
The second solution may not be desirable as c 0 ð0Þ ¼ 0; cf.(18).It is also more difficult to implement as a subdivision scheme.On the other hand, the tangent at t ¼ 0 is given by the second derivative, which is equal to 3ðP 1 À P 0 Þ, and geometrically, the resulting curve is well behaved; see Fig. 4.
Following the analysis used in [20], we obtain the following eigen-components of the subdivision matrices (S of ( 9) is included as reference): ð23Þ The values k 0 ; k 1 ; k 2 are the dominant, subdominant, and subsubdominant eigenvalues (directly determined from the diagonals of T f1;2g ), and v 0 ; v 1 ; v 2 the corresponding unnormalised right eigenvectors.It follows that T 1 behaves 'better' in the sense that it produces uniform point distributions towards the limit as subdivision proceeds; see Fig. 3, bottom.Indeed, its natural configuration, given by v 1 , is linear and uniform.Left eigenvectors associated with k 1 then confirm that the tangent at t ¼ 0 is given by P 0 P 1 in both cases.
Looking at polynomial reproduction as approached in [25], we see from ( 23) that T 1 misses quadratics (those would correspond to k ¼ 1 4 ), while T 2 misses linear functions (k ¼ 1 ).This was to be expected as N spans only a subspace of the space spanned by B. From this point of view, the solution with the longest uninterrupted sequence of eigenvalues following the pattern ð1; 1 2 ; 1 4 ; . . .; 1 2 l ; . ..Þ can be considered 'best' as such solution can reproduce polynomials at t ¼ 0 up to degree l, in accord with (T4).
It is worth pointing out that in N 2 (that corresponds to the solution M 2 ), the basis function corresponding to the crease is C 2 , although it is obtained as a combination of C 0 B-splines; see Fig. 4.
It is interesting to note that there are two and only two solutions.Overall, T 1 is the preferred and popular solution [7], while T 2 has not appeared in the literature.We proceed to solve the quintic case in a similar fashion.

Degree 5
As discussed previously, there is no obvious solution to the case of degree 5 or higher odd degree.
For degree 5 and D ¼ 2 we have Subjecting c M and T to our conditions we obtain c M ¼ with 4 and 7 free parameters, respectively.The matrix equation SM ¼ MT again leads to a welldetermined problem.Using e.g.Gröbner basis computations, one obtains two cubic equations, all other equations are linear.The system then gives nine real solutions and all resulting matrices have positive coefficients.
The condition (M5), i.e., m 1 -1, reduces the number of solutions of (13) for d ¼ 5 to three: Looking at the eigenstructures of the subdivision matrices listed above, we see that T 3 possesses the best sequence of non-zero eigenvalues 1; 1 2 ; 1 4 ; 1

32
, which leads to polynomial reproduction of degree up to 2 at t ¼ 0, in accord with (T4).The end-conditions produced by T 3 are cð0Þ ¼ P 0 ; c 0 ð0Þ ¼ 6  5 ðP 1 À P 0 Þ, and c 00 ð0Þ ¼ 4 5 P 0 À 48 35 P 1 þ 4 7 P 2 .Examples using the three solutions listed above are shown in Fig. 5 along with the basis functions of N 1 ; N 2 , and N 3 .Note that visually, the three solutions produce very similar results.The remaining six solutions with vanishing first end-derivative produce curves that behave similarly, too.
Note that seven masks in S are affected by the multiple knot.Using our approach, the resulting T will have only d À D ¼ 7 À 3 ¼ 4 such masks before returning to uniform ones, making it much simpler to implement as a subdivision scheme.
Subjecting M and T to our conditions for degree 7 we obtain two matrices with 9 and 15 free parameters, respectively.The matrix equation SM ¼ MT leads to a well-determined system of three equations of degree four, again obtained by using Gröbner bases, with 64 solutions.All have positive coefficients and 16 of those satisfy (M5).
For degrees higher than 7 one obtains matrices M and T with even more free parameters (the number of parameters goes up quadratically with degree; see Table 1).The resulting system of equations is likely to contain equations of degrees 5 and higher in its Gröbner basis, and thus possibly not directly solvable in radicals.However, since one expects solutions expressible with rational numbers, it is very likely that exact solutions can still be obtained.Also, one could restrict the number of parameters and thus reduce the algebraic degree of equations involved by employing further conditions.
By imposing (T4), we observed that the problem reduces to a linear one for odd degrees up to 21.We emphasise that some of the equations obtained directly from (13) are still bilinear in the parameters t i and m j , and only a detailed analysis reveals that the system is equivalent to a linear one.

Even degrees
Having analysed odd degrees in detail, we now turn to even degrees.As can be seen in Fig. 3, control points are logically associated with knots in odd degree curves.In the case of even degrees, this relationship changes: control points are associated with knot intervals; see Fig. 6.
This fact slightly complicates the investigation of even degree curves: when the user marks a control point as sharp, which knot value should be used to represent the crease?This question lends itself to two answers: We address both of these options, starting with degree 2.

Degree 2
We note that using ghost points does not work for degree 2. Indeed, requiring that cð0Þ ¼ P 0 ¼ ðP À1 þ P 0 Þ=2 leads to P À1 ¼ P 0 , and the resulting curve starts with a straight segment between P 0 and ðP 0 þ P 1 Þ=2.

Table 1
A summary of our results.From the third column: #sols.stands for the total number of solutions, (M5) is the number of solutions satisfying this condition, #m is the number of parameters in c M; #t denotes the number of parameters in b T, and GB stands for the polynomial degrees in the Gröbner basis associated with SM ¼ MT (linear equations are ignored) without imposing (T4).The abbreviation 'DNC' stands for 'did not compute' (the Gröbner basis computation ran out of memory).In the rows with 'DNC', + means that there are probably more solutions, but those could have been missed by the method used (Maple's solve () function).The last three rows extrapolate our results to higher degrees ða  One can also easily verify that setting D ¼ d=2 ¼ 1 and using our matrix approach leads to the same problem.The other option D ¼ d=2 À 1 ¼ 0 simply returns the solution with a triple knot as shown in Fig. 6, governed by the subdivision matrix with the uniform quadratic mask ½1; 3; 3; 1.
If one wants to avoid using multiple knots completely and use a uniform knot vector and thus the unmodified (although truncated) uniform quadratic subdivision matrix instead, one can play the following trick: display the input control points to the user as usual, but replace P 0 with e P 0 ¼ 2P 0 À P 1 internally for subdivision.The resulting curve displayed to the user is then equivalent to the one obtained by using a triple knot; see Fig. 7.Note that this is different from using a ghost point.

Degree 4
Addressing ghost points first, we obtain that c 0 ð0Þ ¼ À16P 0 þ 14P 1 þ 2P 2 when using only one ghost point P À1 .This violates the principle behind (M3).Using two ghost points, as in the degree 5 case in (6), yields the system However, as with d ¼ 5, this system leads to a basis that is not subdivision-suitable.In summary, ghost points lead to a solution that satisfies all our conditions, except (T4), for d ¼ 3 only; see (21).
If we set D ¼ 1, we obtain with 2 and 5 parameters, respectively.The system SM ¼ MT leads to 4 solutions (obtained by solving two quadratic equations), two of which satisfy (M5).The best solution selected by (T4) then reads and possesses quadratic reproduction at t ¼ 0. Its end-conditions are cð0Þ ¼ P 0 ; c 0 ð0Þ ¼ 12 7 ðP 1 À P 0 Þ, and c 00 ð0Þ ¼ Fig. 6.The Greville abscissae (bullets) of a quadratic B-spline basis B near a triple knot.Note that sufficiently far from the triple knot, control points (cyan) are logically associated with knot intervals.This is in contrast to Fig. 3, where control points are associated with knots.with 2 and 3 free parameters, respectively.The system SM ¼ MT in this case leads to 3 solutions (given by a cubic equation).Only one solution satisfies both (M5) and (T4): 16 0 0 0 8 8 0 0 with only linear reproduction at t ¼ 0. The corresponding end-conditions are cð0Þ ¼ P 0 ; c 0 ð0Þ ¼ 2 3 ðP 1 À P 0 Þ, and all higher-order derivatives at t ¼ 0 vanish.
The two solutions governed by T 1 and T 2 , along with the one given by S, are compared in Fig. 8.

Degree 6 and higher
The subdivision matrix for d ¼ 6 reads With D ¼ 2; M and T have 6 and 12 free parameters, respectively.The system given by SM ¼ MT leads again to a well determined problem with 27 solutions (obtained by solving three cubic equations).Of these, 9 satisfy (M5).The best solution selected by (T4) then is with cubic reproduction at t ¼ 0.
with quadratic reproduction at t ¼ 0.
From the above examples for degrees 4 and 6 we see that the situation for even degrees is very similar to that for odd ones.The difference between choosing D ¼ d=2 À 1 or D ¼ d=2 is mainly in the fact that the former option yields higher polynomial reproduction at t ¼ 0, whereas the latter produces curves that differ less from the smooth curves as there are fewer irregular subdivision masks and stencils involved.
The observation of Section 4.3 applies to even degrees as well: By imposing (T4), the problem of finding the end-conditions and crease rules simplifies to a linear problem with a unique solution for any degree d > 1.
Our findings are summarised in Table 1.All symbolic computations have been performed using Maplesoft's Maple 14 on a Linux system with 8 GB of RAM.Extrapolating our results (last three rows in Table 1) to arbitrary degrees suggests very high degrees of the equations involved, unless (T4) is used to reduce the problem to a linear one.
We emphasise that in the case of d ¼ 8 and D ¼ 4, the system of equations given by SM ¼ MT is equivalent to a system with three quintic polynomials (the remaining equations are linear).Still, we were able to obtain all 125 solutions exactly.

Breaking the rules
We have fixed a number of restrictions on M and T in Sections 3.1 and 3.3, respectively.We now look at each restriction in turn and analyse whether it can be lifted and at what cost.
We start with the matrix M: (M1) This is a natural restriction.While bases that do not partition unity are possible, they do not alter the resulting space they span or produce piece-wise rational (instead of polynomial) curves.
(M2) While we could allow basis functions in N to have larger supports than those in B, this would not make N span a richer space.Larger supports may easily lead to local linear dependencies of basis functions (also called overloaded elements in the literature).(M3) This restriction could be lifted, if one is prepared to allow e.g. that c 0 ð0Þ ¼ a 0 P 0 þ a 1 P 1 þ a 2 P 2 for some values of a 0 ; a 1 , and a 2 -0.We regard this as geometrically undesirable and not intuitive for a designer.(M4) This condition could be relaxed, but we do not see any point in altering basis functions that are not influenced by the multiple boundary (or crease) knot.(M5) This soft condition is only optional.
We now turn to T, whose existence is equivalent to N being subdivision-suitable: (T1) This restriction cannot be relaxed.(T2) This condition is linked to (M4), and thus fixed.(T3) The support widths of the refined basis functions in n are directly linked to the original ones in N. Relaxing this restriction would only lead to more linear equations expressing that the new parameters must be equal to zero, unless (M3) is relaxed as well.(T4) The requirement on the eigenvalues is only optional, but guarantees the best possible polynomial reproduction at creases/end-points.
Note that one could try to construct the matrix T directly from end-derivatives given by differences of control points, and/or eigenstructure.This approach, however, does not guarantee that the curves generated by such a subdivision matrix would be piece-wise polynomial (with finitely many pieces over finite knot intervals).
In the case of odd degrees, our choice of D ¼ ðd À 1Þ=2 directly corresponds to the number of control points introduced by changing the multiplicity of a knot from one (corresponding to a control point marked as smooth) to d (corresponding to a sharp control point).Consequently, no new control points need to be introduced using our approach when marking a control point as sharp.Nevertheless, one can still ask what would other values of D lead to.Clearly, D ¼ 0 leads to M being the identity matrix and we get N ¼ B, understood component-wise, as expected.The other extreme would be to set D ¼ d À 1, which yields N 0;k ¼ P d i¼0 B i;k , leading to undesirable effects such as only constant reproduction.Values of D 2 ½1; . . .; d À 2 then offer a range of schemes with a trade-off between polynomial reproduction and simplicity of subdivision matrices.Similar arguments apply to even degree subdivision schemes as well.
As an example, consider quintics with D ¼ 1 and D ¼ 3. The former choice leads to a scheme with cubic reproduction at t ¼ 0 and the corresponding T contains four irregular masks.Eight such solutions exist, with four satisfying (M5) and one solution (T4).On the other hand, the latter choice provides only linear reproduction but with only two irregular masks.Four solutions exist and only one satisfies (M5), and also (T4).
Based on our observations for both odd and even degrees, we formulate the following.
Conjecture 1.By imposing all our conditions including (T4), the bilinear system given by SM ¼ MT for any d > 1 and any value of D 2 ½0; . . .; d À 1 is equivalent to a linear one with a unique solution having the best possible reproduction degree.

Conclusions and future challenges
Using a set of conditions that a desirable B-spline-based subdivision scheme with crease control should satisfy, we have presented a general approach to finding such schemes.Our method allows for a complete classification of these schemes up to degree 7, beyond which the complexity of the problem becomes prohibitive.Employing an extra condition on the eigenvalues of the subdivision matrix, and thus achieving the best polynomial reproduction at end-points, the problem is conjectured to reduce to a linear one with a unique solution for any degree.
In contrast to knot insertion, our method does not introduce any new control points and does not require the user to modify knot vectors when points are required to become creases and be interpolated.This leads to an intuitive and clean user interface.We have also shown that ghost points cannot be used to match the superior behaviour of our Fig. 8. Three examples given by B and N1;2 corresponding to (36) and ( 39)-(41), respectively, for degree 4 are shown.The smooth curve whose top right control point (green) is marked as smooth is shown in grey as reference.Note that the B-spline solution (left) with knots of multiplicity five deviates the most (measured along the curves) from the grey, smooth curve, while the one given by N2 deviates the least.This is caused by the fact that the subdivision rules of T2 in (41) return to the regular rules sooner than those of T1 in (39) and S in (36) as one moves away from the crease.(For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)results.Ghost points either lead to bases that are not subdivision-suitable, or result in geometrically undesirable end-conditions.
It has not escaped our notice that relaxing some of the rules (in particular (M3), the rule about end-conditions), one can get simpler matrices with more regular stencils in them.These simpler matrices allow much easier implementation of sharp and semi-sharp methods, in the spirit of [7].We will investigate this family of methods in future work.
Generalising our results to tensor-product surfaces is straightforward.Using our new sets of basis functions, a crease can be allowed to run along a knot line.But when viewed as subdivision surfaces, creases could potentially be allowed to stop or smooth out gradually, as in [7,22,17,16,12].
Our method is based on direct manipulation of subdivision masks and stencils.It would be interesting to investigate similar approaches, but in combination with multi-stage methods, e.g. with those developed in [14,4].In the uniform surface case, this would lead to creases for the family of schemes introduced in [24], and in the non-uniform setting to crease rules for the NURBS-compatible framework developed in [3].

Fig. 1 .
Fig. 1.A comparison of various cubic splines (left) and the basis functions (right) used to generate them.All basis functions are either cubic B-splines or obtained as their linear combinations.(a-d) The flexibility offered by modelling systems that allow the user to modify knot vectors.Note that (c) results from (d) by moving two knots to create a knot of multiplicity 3. (e)The effect of a triple control point (cyan) and the corresponding basis.(f) Ghost points can be used to force end-point interpolation without modifying the knot vector.(g) Modifying subdivision rules to allow for control points to be tagged either as smooth (default) or sharp (green) offers intuitive control over the resulting spline.End-points are marked as sharp implicitly even for smooth curves (shown in grey) that have no internal points marked as sharp.(For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

Fig. 2 .
Fig. 2.A quintic spline example given by(7) with the corresponding basis.Ghost control points PÀ1 and PÀ2, computed from (6), have been used at one end.Ghost points used at the other end are not shown.

Fig. 3 .
Fig. 3.The difference between the standard cubic B-spline basis B near a knot of multiplicity 4, and the new basis N with one fewer (D ¼ 1) basis function.The natural configuration (given by Greville abscissae in the case of B) is shown as bullets.Note that sufficiently far from the multiple knot, the basis functions in B and N are the same uniform B-splines.Their Greville abscissae are shown in cyan.Compared to four in the case of B, only three basis function supports overlap the left-most non-zero knot span.

Fig. 4 .
Fig.4.A cubic example governed by T2 in(22) and the corresponding basis.The curve controlled by the same polygon but obtained using T1 in (21) is shown in grey for comparison.Note that the continuity of the basis functions in N2 at the central knot (in green) is at least C 1 , yet a sharp feature is produced.(For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

Fig. 5 .
Fig. 5. Three examples given by Nf1;2;3g corresponding to (27)-(29) for degree 5 are shown.Due to symmetry, only a half of the basis functions corresponding to the red portions of the curves is shown.The smooth curve whose top right control point (green) is marked as smooth is shown in grey as reference.(For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

Fig. 7 .
Fig. 7. Replacing P0 with e P0 forces the curve to interpolate P0 without the need for modifying uniform subdivision rules used to generate uniform quadratic splines.

When D ¼ 3 ; 2 ¼
M and T have 6 and 9 degrees of freedom, respectively.The associated system has 16 solutions, four of which satisfy (M5).Imposing (T4) then gives a single solution c M