Subdivision Surfaces with Creases and Truncated Multiple Knot Lines



We deal with subdivision schemes based on arbitrary degree B-splines. We focus on extraordinary knots which exhibit various levels of complexity in terms of both valency and multiplicity of knot lines emanating from such knots. The purpose of truncated multiple knot lines is to model creases which fair out. Our construction supports any degree and any knot line multiplicity and provides a modelling framework familiar to users used to B-splines and NURBS systems.

1. Introduction

We demonstrate how creases can be added to Cashman's non-uniform rational B-spline (NURBS)-compatible subdivision [Cas10]. We produce creases that are mathematically similar to creases in NURBS surfaces, but with the additional feature that they can start and stop at arbitrary knots, fairing out smoothly to normal surface. Our creases are different in character from DeRose's creases [DKT98], which are for Catmull-Clark (degree 3) subdivision surfaces [CC78], and our creases are applicable to subdivision surfaces of any degree, not just those of degree three.

NURBS surfaces and subdivision surfaces are two of the principal surface representations used in industry. NURBS is industry-standard in CAD. Subdivision surfaces are widely used in 3D computer animation. Both can be considered to be different types of generalization of tensor-product uniform B-splines. NURBS generalizes to non-uniform knot spacing and to rational functions via weights, providing such features as perfect circular cross-sections, but maintains the constraint that the control mesh must be a rectangular array of control vertices. Subdivision surfaces generalize to arbitrary topology, but typically maintain the constraint that the underlying foundation is uniform. Practical subdivision surfaces are either quadratic (degree 2) or cubic (degree 3). NURBS surfaces can be of any degree, with commercial systems offering degrees up to above 20.

Cashman [CADS09; Cas10] developed NURBS-compatible subdivision, which provided a subdivision mechanism for a true superset of NURBS for arbitrary odd degree. That is, it is a generalization of non-uniform tensor-product B-splines. Therefore, any odd-degree NURBS can be represented in Cashman's formulation, with the advantage of arbitrary topology.

Our work considers creases in surfaces. Creases are an important modelling ingredient. Standard subdivision surfaces are smooth everywhere. It is known that using an everywhere smooth surface to model sharp features results in poor geometric fit and unwanted undulations [HDD*94].

We introduce a further generalization of Cashman's subdivision framework that supports modelling with creases (Figure 1). Our approach is based both on Cashman's subdivision framework [Cas10] and on arbitrary degree T-constructions, e.g. [Fin08; DLP13].

Figure 1.

From left: the control mesh of a car model (inspired by Pixar's Cars). Extraordinary vertices are marked by cyan bullets. Edges corresponding to multiple knot lines are shown in green (double) and red (triple). The limit surface with creases and a close-up showing a vanishing feature running into an extraordinary point of valency 3.

Traditional subdivision surfaces are a generalization of uniform tensor product B-splines [CC78]. Cashman's surfaces are a generalization of non-uniform tensor product B-splines [Cas10]. Creases in subdivision surfaces based on non-uniform tensor product B-splines can be achieved by three methods:

  • by making control vertices coalesce,
  • by modifying subdivision rules,
  • by allowing knot lines to be multiple.

We investigate the third approach. It exposes limitations in Cashman's framework. Cashman's framework allows multiple knot lines, provided that the crease propagates across the entire mesh, from one boundary to another (or, equivalently, forms a closed loop). This is a significant limitation. Our construction, by contrast, allows multiple knot lines to terminate at any knot, rather than just at a boundary. The corresponding discontinuity in the surface then fairs out smoothly as shown in Figure 1. This extends the capability of Cashman's framework, enabling a wider range of surfaces to be modelled. Our construction yields subdivision surfaces of any degree.

2. Related Work

Our work is not the first to consider the addition of creases to subdivision surfaces. Semi-sharp creases, introduced by DeRose et al. [DKT98], provide an elegant algorithmic approach. DeRose's idea is to use crease rules for the first few subdivision steps and then switch to normal rules. This allows for edges with a range of visual sharpness. DeRose's method could, in principle, generalize to any degree. However, the actual implementation supports degree three only and it is far from obvious how to handle extraordinary regions with creases for higher degrees. This is owing to the fact that the number of stencils increases quadratically with degree and linearly with valency at extraordinary vertices and faces.

Other examples of modifying rules of Catmull-Clark subdivision include fine level feature editing [KS99; BMZB02] and normal control [BLZ00]. DeRose's idea [DKT98] has also been used for surface fitting with semi-sharp features [LD09].

Early attempts at bivariate non-uniform subdivision for arbitrary topology include Sederberg's NURSS [SZSS98]. While successful, only degrees two and three are supported and there are no continuity guarantees when multiple knot lines are present.

Müller [MRF06; MFR*10] introduced a new variant of Catmull-Clark which allows for varying knot intervals. Direct evaluation of the limit surface is also available. Müller's schemes recreate Catmull-Clark patches in neighbourhoods of extraordinary vertices. Therefore, multiple knot lines, which are supported in regular regions, cannot influence extraordinary regions, unlike our method which can support multiple truncated knot lines that terminate at an extraordinary knot.

More recently, Huang and Wang [HW11] extended Doo-Sabin subdivision to the non-uniform case, including double knot lines. This construction is limited to degree two only and lacks a complete continuity analysis.

Cashman's ‘NURBS-compatible subdivision' [CADS09; Cas10] is a bivariate generalization of his own univariate refine-and-smooth formulation [CDS09]. Cashman's framework allows multiple knot lines, but not in extraordinary regions. More precisely, a multiple knot line cannot run through or terminate at an extraordinary knot. Also, multiple knot lines (just as single knot lines) need to run across the whole surface along a strip of quads and can terminate only at the boundary. These shortcomings motivated our research.

Our contribution is related to so-called T-constructions (see Section 'Truncated Multiple Knot Lines'), which include T-splines [SZBN03], hierarchical B-splines [FB88; VGJS11], truncated B-splines [GJS12], LR B-splines [DLP13] and T-meshes [DCL*08]. However, our approach is different: we do not consider T-constructions but rather we first consider subdivision rules in the vicinity of a truncated knot line and from this we are able to deduce subdivision rules for the neighbourhoods of knots of arbitrary valency and complexity.

3. Our Contribution

The purpose of our truncated multiple knot lines is to model creases (discontinuities of certain derivatives in general) which fair out. We

  • can make multiple knot lines stop at any knot,
  • make creases fair out smoothly,
  • support any degree and multiplicity,
  • can combine our construction with tuning for bounded curvature, for good Gaussian curvature behaviour, and potentially other tuning approaches,
  • provide a modelling framework familiar to users used to B-splines and NURBS systems,
  • can introduce new freedoms automatically using knot insertion.

Note that our creases can terminate at any point corresponding to a knot, whether extraordinary or not, thus we can even produce creases that run part way across what would otherwise be a normal NURBS patch; e.g. Figure 3(c)–(f).

As we show below, the presence of truncated multiple knot lines causes the interplay between the knot mesh and the control mesh to become non-trivial: they do not have the same connectivity even for odd degrees (this also applies to T-constructions). This makes the investigation of subdivision more challenging. Our approach provides one solution to this disparity.

To provide a good understanding of our contribution, we first explain the different types of extraordinary knots that can arise in a general mesh (Section 'A Characterization of Extraordinary Knots'). We then introduce the simplest non-trivial extraordinary knot as a worked example of knot line truncation at an extraordinary knot (Section 'Truncated Multiple Knot Lines') leading to subdivision rules for extraordinary vertices and faces of this type (Section 'Subdivision at a Knot of Type math formula'). We generalize this example to rules for extraordinary knots at which any type of multiple knot line terminates (Section 'General Configurations'). Having presented the new work discursively (Sections 'Truncated Multiple Knot Lines'-'General Configurations'), we summarize it more rigorously (Section 'Summary of Subdivision Algorithm'). Continuity of our surfaces is discussed in Section 'Conclusions and Future Work'.

4. A Characterization of Extraordinary Knots

Traditionally, when dealing with generalizations of tensor-product splines, a vertex within the control mesh is called ordinary if it has valency 4 and extraordinary if it has valency other than 4 (and analogously for faces). This terminology breaks down when multiple and truncated knot lines are present. In order to avoid the terminology problem, we focus on the knot mesh, i.e. the partitioning of the parameter space (a manifold in general) with respect to knot lines, instead of the control mesh. A vertex in the knot mesh is called a knot and its valency is equal to the number of knot lines emanating from it, counted without multiplicities.

In our figures, knot meshes are depicted in grey, control meshes and their vertices are depicted in black (e.g. see Figure 5). We also note that we associate control vertices with their Greville abscissae [Gre67] or their generalization, the natural configuration [BS88].

To classify knots, we introduce the following notation. Let math formula be a knot of valency math formula in a knot mesh and let math formula be multiplicities of knot lines emanating from math formula, ordered anticlockwise. Then, the type of math formula is described as math formula; see Figure 2. For instance, the type of a knot in a tensor-product scenario with all knot lines single is described as math formula. Moreover, any knot whose incident knot lines do not correspond to a tensor-product scenario will be called an extraordinary knot, EK for short, and marked by a cyan square □.

Figure 2.

Some knot meshes with various levels of complexity (multiple knot lines are depicted by lines close together): (a) the simplest situation, (b) a tensor product situation with a double knot line in only one direction, (c) still tensor product but with double knot lines in both directions, (d) a conventional extraordinary knot with single knot lines and (e) with double knot lines. In these two cases, we can use Fourier partitioning to analyse the situation. In the last four cases (f–i), we cannot use Fourier simplification, and in (h) and (i) we cannot even use mirror symmetry. We emphasise that, except for tensor product scenarios, all multiple knot lines are truncated at the extraordinary knot, not running through it. EKs are marked by a cyan square.

Thus, Figures 2(a)–(c) show ordinary knots while Figure 2(f) shows an EK. Note that a knot of valency 4 at which a multiple knot line terminates is extraordinary (e.g. Figure 2 f). These considerations are independent of the degree of a particular scheme, both odd and even degrees are covered.

The simplest situation is shown in Figure 2(a), i.e. a tensor-product structure with single knot lines. Figures 2(b) and (c) depict other tensor-product scenarios, this time with one and two double knot lines, respectively.

The simplest non-trivial situation is shown in Figure 2(d). Subdivision at EKs of type math formula with any valency was considered for the first time by Catmull and Clark [CC78] and Doo and Sabin [DS78] for degrees two and three. A generalization of these schemes to any odd degree and non-uniform knot spacings was introduced by Cashman [Cas10] and termed ‘NURBS-compatible subdivision’.

However, even this general framework does not handle multiple knot lines at extraordinary knots; see Figure 2(e). This issue was addressed previously by us [KSD13] for degree three and any valency at a knot of type math formula. We remark that the situations considered so far are either trivial (Figures 2 a–c) or exhibit an n-fold symmetry (Figures 2 d and e), which significantly simplifies their investigation. We now extend this work to cover the more challenging cases. Note that all multiple knot lines that are not in a tensor product configuration have to terminate at the corresponding extraordinary knot—they cannot pass through it.

5. Truncated Multiple Knot Lines

We start our investigation by looking at one of the simplest scenarios without n-fold symmetry, namely math formula, bi-degree three; see Figure 2(f). To approach this, consider first the tensor-product scenario of Figure 3(a). If we let one of the horizontal knot lines become a double knot line, we obtain the situation depicted in Figure 3(b), i.e. we still did not leave the tensor-product world. We can understand this in terms of knot insertion and basis function splitting.

Figure 3.

Truncated multiple knot lines for degree 3. The truncation occurs at the knot shown in cyan in (c)–(f). Its basis function support is shown in blue in (d). Note that for everywhere far enough to the right in (e), the configuration becomes that of (a), far enough to the left that of (b). A triple knot line truncation scenario is depicted in (f). In order to emphasise the knot line structure (grey), the outer part of the control mesh (black) is omitted.

Suppose now that we truncate the double knot line at the cyan knot in Figure 3(c), keeping the left-hand side of the knot line double and making the right-hand side single. If we split the basis function corresponding to the cyan knot, due to the support of the function (shown in blue in Figure 3 d), the double knot line would propagate (in red) beyond the cyan knot. Thus, in order to truncate the knot line at the cyan knot, its corresponding basis function must not be split and by the same argument the same applies also to the left neighbour of the cyan knot. This behaviour has been observed also in the context of arbitrary degree T-splines [Fin08] and similar T-constructions.

We thus obtain the configuration depicted in Figure 3(e) for a knot of type math formula, with a truncated double knot line and bi-degree three. Figure 3(f) shows a similar situation, math formula, this time with a truncated triple knot line. For a general degree d, only those basis functions whose support (with width equal to math formula) is completely crossed by the multiple knot line can be split and therefore only at some offset from the extraordinary knot does an irregularity in the control mesh appear. For odd degree d, this appears at an offset of math formula. This applies also to even degrees, even though their knot mesh—control mesh correspondence is different; see Figure 5, left. In the limit, as we subdivide, the irregularity converges on the EK; for even degrees, an extraordinary control face converges to a point over the EK.

In T-constructions, truncated knot lines create T-junctions. By contrast, in our approach, we get a region where the mesh transitions from multiple knot line to single knot line. This is shown by the black dashed lines; see Figures 3(e) and (f).

Now that we understand the configuration of control vertices corresponding to the vicinity of an extraordinary knot, we can proceed to derive subdivision rules for these control vertices.

6. Subdivision at a Knot of Type math formula

Let us look first at the situation in the vicinity of math formula as this example aids understanding of more complex scenarios. Since our approach generalizes straightforwardly to higher degrees, we explain it here for degrees two and three only.

In a subdivision step, we insert a knot line into the middle of every non-zero knot interval. We use stencils to explain how we subdivide at math formula, as it makes the example easier to comprehend. Control vertices are marked as shown in Figure 4.

Figure 4.

Colour coding of old and new control vertices appearing in a subdivision step using stencils.

As we see in Figure 5, the natural configuration of the black control vertices is not tensor product due to the presence of math formula. Thus, stencils for some of the new control vertices do not have a tensor product structure. For example, the new red control vertex in Figure 6, left, cannot be computed using a tensor product stencil. However, we can use knot insertion (Figure 6, middle) to compute a new, yellow, control vertex, which we call a ghost control vertex. The ghost vertex turns the local configuration into a tensor product one. The new red control vertex is then computed using a tensor product stencil; see Figure 6, right.

Figure 5.

Natural configurations for bi-degree 2 (left) and bi-degree 3 (right) for math formula: knot lines (grey), control vertices (black) and ghost control vertices (yellow) created by knot insertion (marked by arrows).

Figure 6.

The stencil of the red control vertex; an example for degree 2, cf. Figure 5, left. Left: the original configuration. Middle: knot insertion introduces a ghost control vertex (yellow). Right: the new tensor-product stencil for the red control vertex.

Similarly, Figure 7 depicts an analogous procedure for a new red control vertex in the vicinity of math formula, this time for degree 3. Knot insertion introduces two ghost control vertices (yellow), which then contribute to forming a tensor product stencil; see Figure 7, right.

Figure 7.

The stencil of the red control vertex; an example for degree 3, cf. Figure 5, right. Left: the original configuration. Middle: knot insertion introduces ghost control vertices (yellow). Right: the new tensor-product stencil for the red control vertex.

By this strategy, every new control vertex can be computed using a tensor product stencil. All the required ghost control vertices (created by knot insertion) are shown in yellow in Figure 5 for degrees 2 and 3. Ghost control vertices are created solely for the purpose of this subdivision step, they do not themselves appear in the subdivided mesh.

Since only knot insertion is used to compute the ghost control vertices, our construction works for any degree d. Observe that the configuration of control vertices is invariant under refinement. This means that our subdivision schemes are stationary. Armed with the understanding of valency four scenarios, we now move on to more complicated ones.

7. General Configurations

We now consider situations at extraordinary knots of arbitrary valency, where one or several multiple knot lines terminate.

7.1. One multiple knot line at an extraordinary knot

First, we address situations when only one knot line is multiple and all other knot lines are single. Consider the extraordinary knot math formula for degree three; see Figure 8, top. Since the EK itself does not influence the splitting of basis functions along the double knot line, the configuration of control vertices is analogous to that of math formula, cf. Figure 5, right.

Figure 8.

An extraordinary knot of type math formula and the corresponding configuration of control vertices for degree three. Bottom: a subdivision step using tensor product stencils. New control vertices with stencils influenced by ghost control vertices (yellow) are shown in red, the standard ones are in blue.

Further, for example in the cubic (degree 3) case, all new control vertices can be computed using tensor product stencils, with one exception, the new control vertex corresponding to the EK itself (cyan). This special control vertex can, however, be obtained in terms of its one ring neighbourhood using the original Catmull-Clark weights, or better, weights chosen by eigenanalysis that give bounded curvature [ADS06; Cas10]. Stencils of these vertices will be called extraordinary stencils.

For higher degrees, knot insertion, computation of ghost vertices and conversion to tensor product stencils all work in the same fashion as described above. The only difference is, since support width increases with degree, that more vertices with extraordinary stencils emerge; see the green vertices in Figure 9 for a degree five scheme. For degree d, the green vertices form an r-ring neighbourhood of the new extraordinary vertex or face (in the new control mesh) corresponding to the EK, with math formula. Namely for low degrees

display math(1)

math formula means that there are no green vertices present. The new positions of the green vertices are computed using Cashman's non-uniform refine and smooth algorithm [CADS09].

Figure 9.

The distribution of new control vertices at math formula for degree 5. Notice that green and red vertices are well separated.

We now show that the colour assignment introduced in Figure 4 is well defined, i.e. that no new control vertex can be simultaneously red (depend on ghost vertices) and green (have an extraordinary stencil). As we have already seen, the valency influences the configuration of control vertices in a straightforward way. Moreover, in situations with only one multiple knot line, the actual multiplicity does not influence the separation of new red and green vertices. Consequently, it is sufficient to focus only on the configuration at math formula for degree d.

The support width of a standard, univariate, degree d B-spline basis function is math formula. The above claim then follows from the width of stencils for new vertex vertices (those new vertices that correspond to old vertices) and new edge vertices (those new vertices that correspond to the centres of old edges)—see Figure 10—and from the fact that the centre of the last basis function split occurs at the distance of math formula from the extraordinary knot. Consequently, all the new red vertices along a knot line of multiplicity m form a rectangle of d vertices along the knot line times math formula vertices across it.

Figure 10.

Pascal's triangle and the derivation of univariate stencils (each row must be divided by 2d). For odd degrees, new vertex-vertex stencils are shown in bold. Their size is equal to math formula. Even degree stencils are of size math formula.

For odd degree schemes, there is a column of new blue vertices (see Figure 8, bottom, and Figure 9) separating new red and green ones. For even degree schemes, this column is not present.

7.2. Several multiple knot lines meeting at an extraordinary knot

We next address the question of mutual interference of multiple knot lines along several (or all) rays at an extraordinary knot. We note that the multiple knot lines are all truncated at the EK, not running through it.

It is easy to observe that if multiple knot lines do not occur along adjacent rays (e.g. math formula), then the approach of the previous section applies to each of the rays independently. Moreover, the valency of an EK plays no significant role in this investigation. Therefore, it suffices to investigate only the case of math formula for degree d.

Consider the situation of Figure 11, i.e. math formula for degree three. The configuration of control vertices in the vicinity of the new red vertex is not a tensor product one. Similarly to the approach in Section 'Subdivision at a Knot of Type math formula', we compute ghost vertices (yellow) using knot insertion; only this time, the knot insertion needs to act along both truncated multiple knot lines. Nevertheless, as standard B-spline theory tells us, the sequence in which knots are inserted does not matter and the control vertex in dark yellow is unique for all degrees. This vertex then, along with some of the other ghost and old vertices, forms a tensor product stencil of the new red vertex.

Figure 11.

Control mesh configuration at math formula for degree 3. Bright yellow vertices are computed using knot insertion in one direction only, whereas dark yellow marks a vertex created by knot insertion in two directions. The nine vertices contributing to the tensor product stencil of the red vertex lie on the pink rectangle.

Our approach using knot insertion and ghost vertices generalizes to any degree and any type of extraordinary knots. An example with math formula and math formula is shown in Figure 12, cf. Figure 1. More examples are shown in Figures 13-15.

Figure 12.

The car model of Figure 1. Due to symmetry, only a half of the control mesh is shown. Extraordinary vertices, two each of math formula and math formula, are marked by cyan bullets. Edges corresponding to multiple knot lines are shown in green (double) and red (triple). From left: Original mesh with edges marked by multiplicity and the resulting control mesh after knot insertion. New control vertices have been moved to capture the desired shape. Right: Two steps of cubic refinement of the control mesh.

Figure 13.

A cube-corner example of math formula at degree 2. Knot line multiplicity three creates a discontinuity controlled by the vertices incident with the blue edges of the control mesh (left). The extraordinary face is shown in cyan. Right: Gaussian curvature (discrete estimation) of the limit surface and its reflection lines.

Figure 14.

A symmetric example of math formula, degree 3. Note that knot lines of multiplicity 4 allow us to create discontinuities in the surface. Nevertheless, C1 continuity at the extraordinary knot is preserved.

Figure 15.

An example of math formula, degree 3. The extraordinary vertex is marked by a cyan bullet. Edges corresponding to multiple knot lines are shown in green (double) and red (triple).

8. Summary of Subdivision Algorithm

Having presented our approach to subdivision with multiple knot lines in detail in Sections 'Truncated Multiple Knot Lines''General Configurations', we now summarize its most important steps:

(1) Control mesh design: The input is a degree d and a quadrilateral subdivision control mesh math formula (extraordinary faces are allowed if d is even). The user (or an automated system in case of surface fitting with features) marks sequences of edges (or strips of faces if d is even) by desired knot line multiplicity; see Figure 12, top left. B-spline knot insertion then automatically introduces new control vertices, which the user is free to modify (see Figure 12, top right), resulting in a marked mesh math formula.

(2) Topological step: Mesh math formula is subdivided topologically into math formula depending on its EKs (e.g. Figure 9). No positions are computed at this step. Each new control vertex of math formula is assigned a colour according to Figure 4: colour every vertex blue; colour the vertices of the r-ring neighbourhood (1) of the new (extraordinary) vertex or face green; colour red the vertices in the rectangular region of size math formula along each knot line of multiplicity m; see Figure 9.

(3) Geometric step: Ghost control vertices are computed using knot insertion where required by new red control vertices. Then, the positions of new blue and red control vertices are computed using standard tensor product degree d B-spline stencils acting on math formula. The positions of new green control vertices are computed using Cashman's non-uniform refine-and-smooth algorithm [CADS09]. This procedure assigns new positions to all control vertices of math formula; see Figure 12, bottom left. The multiplicity marking of math formula is inherited by math formula in a straightforward fashion, analogously to subdivision with creases [DKT98].

Repeating Steps 2 and 3 gives a stationary subdivision scheme. The resulting limit surface has features (discontinuities) at the desired places, as marked in Step 1.

9. Discussion

We now address continuity of our surfaces, bounded curvature, exact evaluation and compare to semi-sharp creases of [DKT98].

9.1. Continuity

The standard approach to continuity analysis of subdivision schemes is via spline rings [PR08], see Figure 16. However, our new scheme is based on an existing one, so the continuity of that scheme applies everywhere except along the crease lines that we have added to the surface. Our additions are explicitly designed to model sharp creases, places at which continuity is reduced. Therefore, our continuity analysis is straightforward.

Figure 16.

A part of the spline ring for degree three at math formula. Control vertices influencing the dark red region are shown in orange.

In the symmetric, unmodified case with all knot lines single the limit surface is C1 continuous at extraordinary knots of any valency math formula and for degrees math formula, and math formula everywhere else [Cas10]. At a desired crease, knot insertion of a truncated knot line raises its multiplicity to d, but does not change the surface. Only when the user moves the newly created control points out of their knot-inserted configuration does the continuity along the truncated knot line drop to C0 and a crease is created. This crease then fairs out into the original surface at extraordinary points. These points form transitions between the C0 crease and the math formula continuous surface. Thus, the continuity at the extraordinary point itself is at least C0. Our numerical verification of sufficient conditions for C1 continuity for low degrees, valencies, and knot line multiplicities (e.g. the configurations shown in Figures 16 and 17) suggests that C1 continuity is preserved at extraordinary knots of any type.

Figure 17.

A basis function for degree 3 with math formula (cyan) at the boundary of its support (outlined in black).

9.2. Bounded curvature

Tuning for bounded curvature is a useful additional feature for subdivision schemes, previously adopted for Catmull-Clark [ADS06] and Cashman's method [Cas10]. Our new method is compatible with such tuning methods. Tuning is based on multipliers that modify the weight of an extraordinary vertex in three types of stencil:

  • contributions to the extraordinary vertex itself,
  • contributions to edge-connected vertices,
  • contributions to face-connected vertices.

These multipliers affect only the 1-ring neighbourhood of an extraordinary vertex in the new control mesh. Thus, the tuning of Cashman [Cas10] for bounded curvature and the tuning of Augsdörfer [ADS06] for good curvature behaviour are both compatible with our approach.

Two simple examples with bounded curvature tuning [Cas10] are shown in Figure 18. Bounded curvature solutions for even degree schemes remain a topic for future research [Cas10, Section 6.4].

Figure 18.

Two examples with extraordinary knots. Bounded curvature solutions of [Cas10] have been used. Top: math formula, degree 5. Bottom: math formula, degree 7.

9.3. Exact evaluation

An important ingredient for some applications, such as analysis, is exact evaluation [Sta98; NLG12; NLMD12]. In the non-uniform case, Cashman's framework requires selective knot insertion to create uniform regions around EKs. In our, uniform case, this stage is not necessary and Stam's approach [Sta98] can be applied, because multiple knot lines influence the evaluation of tensor product B-spline patches in a straightforward way. As for the EKs themselves, we note that truncated multiple knot lines do not alter the limit point and limit normal stencils at EKs of any type compared to Cashman's scheme; see Figure 17. Thus these limit stencils can be computed from the eigenrows (right eigenvectors) of the subdivision matrix.

9.4. Comparison

Since our method applies to arbitrary degree subdivision, it is difficult to compare it with existing techniques, which only apply to degrees two and three. Figure 19 shows a similar configuration to Figure 1, using DeRose's creases in place of our method. Because our method automatically introduces more degrees of freedom at the creases (Figure 1), DeRose's method is unable to achieve the level of control of our method. Figure 19 is therefore the closest approximation to our results. The red creases (C0 in our method) are hard straight creases in DeRose's method. The green creases (C1 in our method) are C2 regions of high curvature in DeRose's method. Our creases fair out smoothly into C2 surface, whereas DeRose's creases terminate abruptly at the extraordinary points.

Figure 19.

Sharp creases (red) and semi-sharp creases (green, sharpness equal to two) on a car model (cf. Figure 1) created by semi-sharp crease rules of [DKT98].

10. Conclusions and Future Work

We have presented a subdivision framework which allows modelling with sharp features. It is based on Cashman's NURBS-compatible subdivision framework and addresses the important questions how to make a multiple knot line stop and how to model features without making control vertices coalesce.

In future research, we would like to focus on the following shortcomings and extensions:

  • The current minimal separation of EKs supported is at least a tensor product basis function support width.
  • Can we combine our approach with the refine and smooth algorithm of Cashman [Cas10] to allow arbitrary (non-uniform) knot intervals?
  • Can we extend our framework to support knot lines of multiplicity zero, e.g. math formula? This would enable modelling with ‘T-junctions’ at extraordinary knots and would be a step towards bringing T-splines and Cashman's framework together.
  • A complete n-fold symmetry can be forced by knot insertion. We did not pursue this as it introduces unnecessarily many ghost control vertices.
  • Can we require a discontinuity (multiple knot line) to stop abruptly at an extraordinary knot, i.e. without letting it fair out, or let the discontinuity to run (smoothly) through it (as in tensor product scenarios)?
  • Our approach can be adapted to work for any other surface subdivision scheme based on B-splines, e.g. [ZS01; HW11], since basically only knot insertion is required to be supported.


The authors thank EPSRC for supporting this work through grant EP/H030115/1 and the anonymous reviewers for their helpful insights.