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.
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].
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.
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 be a knot of valency in a knot mesh and let be multiplicities of knot lines emanating from , ordered anticlockwise. Then, the type of is described as ; see Figure 2. For instance, the type of a knot in a tensor-product scenario with all knot lines single is described as . 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 □.
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 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 . 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 , 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.
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 , with a truncated double knot line and bi-degree three. Figure 3(f) shows a similar situation, , this time with a truncated triple knot line. For a general degree d, only those basis functions whose support (with width equal to ) 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 . 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
Let us look first at the situation in the vicinity of 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 , as it makes the example easier to comprehend. Control vertices are marked as shown in Figure 4.
As we see in Figure 5, the natural configuration of the black control vertices is not tensor product due to the presence of . 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.
Similarly, Figure 7 depicts an analogous procedure for a new red control vertex in the vicinity of , 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.
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 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 , cf. Figure 5, right.
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 . Namely for low degrees
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].
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 for degree d.
The support width of a standard, univariate, degree d B-spline basis function is . 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 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 vertices across it.
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. ), 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 for degree d.
Consider the situation of Figure 11, i.e. 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 ', 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.
Our approach using knot insertion and ghost vertices generalizes to any degree and any type of extraordinary knots. An example with and is shown in Figure 12, cf. Figure 1. More examples are shown in Figures 13-15.
(1) Control mesh design: The input is a degree d and a quadrilateral subdivision control mesh (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 .
(2) Topological step: Mesh is subdivided topologically into depending on its EKs (e.g. Figure 9). No positions are computed at this step. Each new control vertex of 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 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 . 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 ; see Figure 12, bottom left. The multiplicity marking of is inherited by 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.
We now address continuity of our surfaces, bounded curvature, exact evaluation and compare to semi-sharp creases of [DKT98].
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.
In the symmetric, unmodified case with all knot lines single the limit surface is C1 continuous at extraordinary knots of any valency and for degrees , and 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 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.
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].
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.
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.
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. ? 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.