A general class of C 1 smooth rational splines: Application to construction of exact ellipses and ellipsoids
AA general class of C smooth rational splines:Application to construction of exact ellipses and ellipsoids Hendrik Speleers a , Deepesh Toshniwal b, ∗ a Department of Mathematics, University of Rome Tor Vergata, Italy b Delft Institute of Applied Mathematics, Delft University of Technology, The Netherlands
Abstract
In this paper, we describe a general class of C smooth rational splines that enables, in particular, exact descriptions of ellipsesand ellipsoids — some of the most important primitives for CAD and CAE. The univariate rational splines are assembled bytransforming multiple sets of NURBS basis functions via so-called design-through-analysis compatible extraction matrices; dif-ferent sets of NURBS are allowed to have different polynomial degrees and weight functions. Tensor products of the univariatesplines yield multivariate splines. In the bivariate setting, we describe how similar design-through-analysis compatible trans-formations of the tensor-product splines enable the construction of smooth surfaces containing one or two polar singularities.The material is self-contained, and is presented such that all tools can be easily implemented by CAD or CAE practitionerswithin existing software that support NURBS. To this end, we explicitly present the matrices (a) that describe our splines interms of NURBS, and (b) that help refine the splines by performing (local) degree elevation and knot insertion. Finally, all C spline constructions yield spline basis functions that are locally supported and form a convex partition of unity. Keywords:
Piecewise-NURBS representations, Smooth parameterizations, Exact ellipses and ellipsoids
1. Introduction
Multivariate splines are used extensively for computer-aided design (CAD) and, more recently, for computer-aidedengineering (CAE). Smoothness of such splines is a particu-larly valuable trait. When the aim is to create a (freeform)geometric model for a smooth object, it helps if the splinesused for the task are smooth themselves. For instance, thiscircumvents situations where small displacements to controlpoints may produce ‘non-smooth’ features such as C kinks,loss of curvature continuity, etc. Similarly, when the aim isto numerically approximate the solution to high-order par-tial differential equations (PDEs) using isogeometric analysis(IGA) — a generalization of classical finite elements [ ] —high smoothness of the approximating spaces can be bene-ficial. For instance, it can allow us to directly discretize thePDEs without any auxiliary variables, thus yielding simplerand more efficient implementations.In this paper, we discuss a general class of C smooth ra-tional splines that allow for the construction of C smoothcurves and surfaces. These are an extension of classical C non-uniform rational B-splines (NURBS) as they enjoy theflexibility of choosing locally unrelated weight functions aswell as the option of local degree elevation — they can beroughly regarded as piecewise-NURBS. At the same time,they maintain intuitive control-point-based design. More-over, they enable simple (low-degree) and smooth descrip-tions of some of the most important primitives for CAD andCAE (but also for computer vision, graphics and robotics):closed, real, non-degenerate quadrics — that is, ellipses intwo dimensions and ellipsoids in three dimensions. ∗ Corresponding author
Email addresses: [email protected] (Hendrik Speleers), [email protected] (Deepesh Toshniwal)
The ideas we present here build upon those from [ ] ,in multiple directions, and their presentation is motivatedby our primary objectives: self-contained, explicit, NURBS-compatible descriptions that can be easily and efficiently im-plemented within existing CAD software . The most importantnovel contributions are the following.• We describe the usage of classical univariate NURBS toassemble C rational multi-degree spline basis functions using an extraction matrix. The general framework wasexplained in [ ] , but we provide here a simplified ex-position of the construction and a formal proof of theproperties; see Remark 2.3. We mainly stick to para-metric smoothness, but a construction centred aroundthe notion of geometric smoothness can be formulatedas well; see Remark 2.5.• We describe efficient refinement of the C splines lever-aging classical NURBS refinement. The novelty here re-lies in an explicit and simple construction of the refine-ment matrices.• We describe how tensor-product bivariate C rationalsplines can be used to build C smooth geometriesthat may contain one or two polar singularities; the C smooth splines describing the geometries are called po-lar splines . As above, the idea is based on building anextraction matrix.• We describe efficient refinement of polar splines. In par-ticular, we provide an explicit and simple constructionof the refinement matrices.• We provide explicit descriptions of ellipses and ellip-soids built using low-degree C splines, and we detailtheir extraction in terms of NURBS so that they can bereadily implemented and used in CAD or CAE software. a r X i v : . [ m a t h . NA ] D ec able 1 summarizes the descriptions included in this pa-per. At the core of our approach is the notion of the so-called design-through-analysis (DTA) compatible extractionmatrix . Roughly speaking, such matrix helps us assem-ble ‘simple splines’ into ‘more general splines.’ Examplesare the Bézier extraction matrix introduced to assembleBernstein polynomials into B- / T-splines [
3, 19 ] ; the multi-degree extraction matrix for assembling elements of ex-tended Tchebycheff spaces into generalized TchebycheffianB-splines [
22, 26, 7 ] ; and the unstructured spline extractionmatrices for assembling tensor-product splines into splineson unstructured quadrilateral meshes [
25, 27, 24 ] .Here, we apply the concept of extraction in the followingcontext. We start from multiple sets of (univariate or bivari-ate) NURBS basis functions defined on adjacent domains,and collect all of these functions in the set { b j : j =
1, . . . , m } .Then, we assemble them into more general C rational (po-lar) splines using a matrix C (with entries C i j ), called the extraction matrix . Denote this new set of splines by { N i : i =
1, . . . , n } , where n < m . These are defined as follows, N i = m (cid:88) j = C i j b j , i =
1, . . . , n . (1)We are particularly interested in matrices C such that thefunctions N i • satisfy certain smoothness constraints that may or maynot be satisfied by the b j , and• possess the properties of non-negativity, locality, linearindependence and partition of unity that the b j alreadypossess.Such extraction matrices are called DTA-compatible . Definition 1.1 (DTA-compatible extraction) . An extractionmatrix C is called DTA-compatible if(a) C is a full-rank matrix,(b) each column of C sums to 1,(c) each entry in C is non-negative, and(d) C imparts locality to the functions N i through sparsity.It is easy to see that the action of a DTA-compatible extrac-tion matrix on a convex partition of unity, local basis givesrise to another local basis that also forms a convex partitionof unity. Indeed, by summing over i in Equation (1), we have n (cid:88) i = N i = n (cid:88) i = m (cid:88) j = C i j b j = m (cid:88) j = b j n (cid:88) i = C i j = b j form a partition of unity. Since C has non-negativeentries and is a full-rank matrix, non-negativity and linearindependence of N i follow from the non-negativity and linearindependence of b j . Our notion of
DTA-compatible extraction matrix has been called
IGA-suitable extraction matrix in [ ] . The name reflects the fact that both designand analysis may profit from the extraction operation. As mentioned in the previous section, the constructionof smooth univariate splines by joining simpler pieces hasbeen recently explored in [
25, 22, 26 ] for polynomial multi-degree splines, and in [ ] for generalized Tchebycheffiansplines. These approaches have conceptual similarities withthe notion of beta-splines [ ] . The main differences arethat the former approaches do not rely on symbolic com-putations while the latter does, and the former approachesconsider parametric continuity while the latter studies ge-ometric continuity. The use of smooth univariate rationalsplines for construction of circles has been previously ex-plored in [
1, 12, 13 ] . It is known that a circle cannot berepresented by a single (symmetric) periodic C quadraticNURBS curve [
17, Section 7.5 ] nor a C cubic NURBS curve [
5, Section 13.7 ] . However, it is possible to find C p smoothdescriptions using NURBS of degree 2 ( p + ) , which is shownto be the minimal degree in [ ] . On the other hand, [
12, 13 ] presented a C piecewise quadratic NURBS description of thecircle and used it for IGA. Our rational multi-degree splinesform a flexible extension of the latter framework, and al-low for a variety of exact descriptions of circles using low(multi-)degrees, as indicated in Table 1.In two dimensions, closed quadrics or, more generally,smooth closed surfaces of genus zero can be built usingtensor-product splines by introducing polar singularities. Forsuch polar surfaces, subdivision schemes producing C sur-faces [
10, 14 ] and C surfaces [
9, 15 ] have been previouslyworked out. The corresponding limit surfaces consist of aninfinite sequence of surface rings where the faces shrink toa point in the limit. A more CAD-friendly finite constructionwas developed in [ ] ; this approach constructs ‘shape’ ba-sis functions for C polar splines with bi-degree (
6, 3 ) . Thesebasis functions correspond to unique Fourier frequencies inthe polar expansion of a quadratic surface. The ‘shape’ basisdoes not enjoy non-negativity and does not form a partitionof unity, and extensions of it to higher smoothness leads todegrees of freedom that control non-intuitive shape param-eters. Similar recent constructions for obtaining C polarspline caps can be found in [ ] . Curvature continuous po-lar NURBS surfaces were discussed in [ ] , and [ ] pre-sented a construction of polar caps using periodic B-splinesurfaces with G n continuity for arbitrary n . On the CAE side,a standard circular serendipity-type element for IGA was pro-posed in [ ] , and C k smooth basis functions over singularparametrizations of triangular domains were constructed in [ ] . A design-through-analysis friendly construction of C k smooth polar surfaces was recently proposed in [ ] , and thecurrent work builds further upon this construction.A completely different approach for dealing with curvesand surfaces is the use of implicit representations [ ] . Suchrepresentations enjoy nice geometric properties (especiallyfor simple shapes). For instance, they allow for a straightfor-ward point membership classification. On the other hand,explicit smooth B-spline representations are more conve-nient for direct geometric modeling and (local) modification. In Section 2, we present the construction and refinementof C smooth rational multi-degree spline curves via explic-itly defined extraction and refinement matrices. The con-struction and refinement of C smooth polar surfaces using2 uadric Polynomialdegree C − NURBS Section uniform; 2 4 4 12 2.4.1uniform; 3 2 8 2.4.2Ellipse(special case: circle) non-uniform; (
3, 2, 2 ) (
2, 2 ) (
2, 3 ) (
3, 3 ) Table 1: An overview of the explicit C descriptions of quadrics presented in this paper. The table also compares the number of degrees offreedom (DOFs) needed by our C representation compared to those needed by an equivalent C − NURBS representation. tensor products of the univariate splines is detailed in Sec-tion 3. The explicit descriptions of ellipses and ellipsoids us-ing the univariate and bivariate C splines are reported inSections 2.4 and 3.4, respectively. Finally, we conclude thepaper in Section 4. It should be mentioned that the text iswritten such that the theoretical sections — Sections 2.1–2.3and 3.1–3.3 — can be skipped by readers interested only inimplementing explicit descriptions of smooth quadrics.
2. Piecewise-rational curves
In this section, we focus on a multi-degree extension ofunivariate NURBS splines. The multi-degree spline space isdefined as a collection of classical NURBS spaces (with possi-bly different polynomial degrees and weight functions) gluedtogether C smoothly. For such space we present a construc-tion of a set of basis functions, with similar properties to clas-sical NURBS. After discussing some preliminary material onNURBS in Section 2.1, we elaborate how these basis func-tions can be computed through a DTA-compatible extractionmatrix in Section 2.2. A more general but also more complexalgorithmic construction has been detailed in [
25, Section 2 ] and further explored in [
22, 26 ] for polynomial multi-degreesplines. Then, in Section 2.3, we give an explicit procedurehow to compute a refined representation of a given curve. Fi-nally, in Section 2.4, we illustrate how this tool can be usedto describe arbitrary ellipses in a C smooth fashion usinglow-degree piecewise-rational curve representations suitedfor integrated design and analysis. We start by defining notation for NURBS basis functions,and introduce some classical relations that can be found,e.g., in [
18, 17 ] .Given a basic interval I : = [ x , x ] ⊂ (cid:82) , let us denote with ξ an open knot vector of degree p ∈ (cid:78) and length n + p + ∈ (cid:78) ,i.e., ξ : = [ ξ , ξ , . . . , ξ n + p + ] , ξ i + ≥ ξ i , ξ = · · · = ξ p + = x < ξ p + , ξ n + = · · · = ξ n + p + = x > ξ n . (2)The number of times a knot value ξ i is duplicated in the knotvector is called the knot’s multiplicity . The multiplicity of ξ i is denoted with m i , and we assume that 1 ≤ m i ≤ p −
1. The corresponding set of B-splines { b j , p : j =
1, . . . , n } aredefined using the recursive relation, b j , p ( x ) : = x − ξ j ξ j + p − ξ j b j , p − ( x ) + ξ j + p + − x ξ j + p + − ξ j + b j + p − ( x ) ,starting from b j ,0 ( x ) : = (cid:168)
1, if ξ j ≤ x < ξ j + ,0, otherwise,and under the convention that fractions with zero denom-inator have value zero. With the above definition, all theB-splines take the value zero at the end point x . Therefore,in order to avoid asymmetry over the interval I , it is commonto assume the B-splines to be left continuous at x . We willfollow suit.Let us denote with w a weight vector of length n , i.e., w : = [ w , w , . . . , w n ] , w i >
0. (3)The corresponding set of NURBS { b wj , p : j =
1, . . . , n } aredefined by b wj , p ( x ) : = w j b j , p ( x ) (cid:80) ni = w i b i , p ( x ) .Each b wj , p is non-negative on I and is locally supported on [ ξ j , ξ j + p + ] . Moreover, the functions b wj , p are linearly inde-pendent and form a partition of unity. They satisfy the fol-lowing end-point conditions: b w p ( x ) = b wj , p ( x ) = j =
2, . . . , n , b wn , p ( x ) = b wj , p ( x ) = j =
1, . . . , n − ξ and w is denotedwith (cid:82) [ ξ , w ] and is defined as the span of { b wj , p : j =
1, . . . , n } . This is a space of piecewise-rational functions ofdegree p with smoothness C p − m i at knot ξ i and its dimen-sion is n . The assumption on the multiplicity will ensure usglobal C smoothness. Note that when w = · · · = w n , themembers of this space are piecewise-polynomial. Remark . The structure of ξ in Equation (2) is such that p , m i , n and I are embedded in it. Therefore, we will as-sume that once a knot vector ξ is known, so are the degree,smoothness, and dimension of the corresponding NURBSspace (cid:82) [ ξ , w ] .3e identify a function f ∈ (cid:82) [ ξ , w ] with the vector of itscoefficients [ f , . . . , f n ] , f ( x ) = n (cid:88) j = f j b wj , p ( x ) .Only the first (last) k + k -th order derivative at the left (right) end point of I . Inparticular, we have f ( x ) = f , d fd x ( x ) = p ξ p + − x w w ( f − f ) , f ( x ) = f n , d fd x ( x ) = px − ξ n w n − w n ( f n − f n − ) . (4)A NURBS curve embedded in (cid:82) d , d ≥
2, can be constructedas f ( x ) = n (cid:88) j = f j b wj , p ( x ) ,where f j ∈ (cid:82) d are the control points assigned to each basisfunction. All coordinate functions of this curve belong to (cid:82) [ ξ , w ] and therefore all the above relations hold for them. Consider m open knot vectors ξ ( i ) of degree p ( i ) , i =
1, . . . , m , defined as in Equation (2). We denote the left andright end points of the interval I ( i ) associated to ξ ( i ) with x ( i ) and x ( i ) , respectively. The collection Ξ : = ( ξ ( ) , . . . , ξ ( m ) ) iscalled an m-segment knot vector configuration . The multi-degree spline spaces will be constructed by consideringspline spaces over the knot vectors ξ ( i ) , which are gluedtogether with certain smoothness requirements at the endpoints x ( i ) and x ( i + ) for i ∈ {
1, 2, . . . , m − } . The equiv-alence class at the points x ( i ) and x ( i + ) is called the i-thsegment join . We define the mapping φ ( i ) for each segment i =
1, . . . , m , φ ( i ) ( x ) : = x − x ( i ) + τ ( ) + i − (cid:88) (cid:96) = ( x ( (cid:96) ) − x ( (cid:96) ) ) , (5)for an arbitrarily chosen origin τ ( ) ∈ (cid:82) . Then, Ω ( i ) : =[ τ ( i ) , τ ( i ) ] : = φ ( i ) ([ x ( i ) , x ( i ) ]) ⊂ (cid:82) , and we construct the com-posed interval Ω : = [ t , t ] : = Ω ( ) ∪ · · · ∪ Ω ( m ) .Note that τ ( i ) = τ ( i + ) , i ∈ {
1, . . . , m − } and t = τ ( ) .Moreover, let W : = ( w ( ) , . . . , w ( m ) ) be a sequence of weightvectors defined as in Equation (3). We refer the reader toFigure 1 for a visual illustration of the notation of the aboveconcepts, in case m = p ( ) = p ( ) = (cid:82) [ Ξ , W ] : = (cid:8) f ∈ C ( Ω ) : f ◦ φ ( i ) ∈ (cid:82) [ ξ ( i ) , w ( i ) ] ,1 ≤ i ≤ m (cid:9) ,and the periodic space of rational multi-degree splines as (cid:82) per [ Ξ , W ] : = (cid:8) f ∈ (cid:82) [ Ξ , W ] : f ( t ) = f ( t ) , d fd t ( t ) = d fd t ( t ) (cid:9) . ξ ( ) = ξ ( ) = ξ ( ) ξ ( ) = ξ ( ) = ξ ( ) b w , ( ) b w , ( ) b w , ( ) w ( ) w ( ) w ( ) ξ ( ) = ξ ( ) = ξ ( ) = ξ ( ) ξ ( ) = ξ ( ) = ξ ( ) = ξ ( ) b w , ( ) b w , ( ) b w , ( ) b w , ( ) w ( ) w ( ) w ( ) w ( ) τ ( ) τ ( ) = τ ( ) τ ( ) b b b b b b b t t B B B B B φ ( ) φ ( ) H Figure 1: A visual illustration of the notation and the construc-tion of rational multi-degree B-splines as described inSection 2.2. Here, the quadratic (blue) and cubic (red)NURBS shown at the bottom are used to build the C multi-degree B-splines shown at the top. The elements of (cid:82) [ Ξ , W ] and (cid:82) per [ Ξ , W ] are piecewise-NURBS functions such that the pieces meet with C conti-nuity at each segment join. It is clear that classical NURBSspaces are a special case of the rational multi-degree splinespaces.In the following, we build a suitable basis for the spaces (cid:82) [ Ξ , W ] and (cid:82) per [ Ξ , W ] . On the i -th knot vector ξ ( i ) , wehave n ( i ) NURBS b w , ( i ) j , p ( i ) of degree p ( i ) that span the splinespace (cid:82) [ ξ ( i ) , w ( i ) ] . In the first step, we map these basis func-tions from I ( i ) to Ω ( i ) using φ ( i ) in Equation (5), and extendthem on the entire interval Ω by defining them to be zerooutside Ω ( i ) . More precisely, specifying the cumulative localdimensions µ i for i =
0, . . . , m , µ : = µ i : = i (cid:88) (cid:96) = n ( (cid:96) ) = µ i − + n ( i ) , i > i =
1, . . . , m and j =
1, . . . , n ( i ) , b µ i − + j ( t ) : = b w , ( i ) j , p ( i ) ( x ) , if [ τ ( i ) , τ ( i ) ) (cid:51) t = φ ( i ) ( x ) , b w , ( i ) j , p ( i ) ( x ( i ) ) , if i = m and t = t ,0, otherwise.For the sake of simplicity, we dropped the reference to the(local) degree and weight in the notation. From the prop-erties of NURBS, it is clear that the functions b , . . . , b µ m arelinearly independent and form a non-negative partition ofunity on Ω . We arrange these basis functions in a columnvector b of length µ m . We refer the reader again to Figure 1for a visual illustration of the notation of the above concepts.Now, we construct extraction matrices H and H per suchthat the functions in { B i : i =
1, . . . , n } and { B peri : i =
1, . . . , n per } , defined by B : = H b , B per : = H per b , (6)span (cid:82) [ Ξ , W ] and (cid:82) per [ Ξ , W ] , respectively. The key here,and the reason our approach can be efficiently implementedby design, is that these extraction matrices can be explicitlyspecified. To this end, we define counters η i for i =
0, . . . , m , η : = η i : = i (cid:88) (cid:96) = ( n ( (cid:96) ) − ) = µ i − i , i > α ( i ) and β ( i ) for i =
1, . . . , m − α ( i ) : = p ( i ) x ( i ) − ξ ( i ) n ( i ) w ( i ) n ( i ) − w ( i ) n ( i ) > β ( i ) : = p ( i + ) ξ ( i + ) p ( i + ) + − x ( i + ) w ( i + ) w ( i + ) > α ( m ) and β ( m ) are computed using theabove equations by identifying the index i + H c of size η m × ( µ m − ) , whose non-zero entries H ci j are identified as follows: for i =
1, . . . , m and j =
1, . . . , n ( i ) − H c η i − + j , µ i − + j : =
1, (7)and for i =
1, . . . , m − H c η i , µ i − : = H c η i , µ i : = α ( i ) α ( i ) + β ( i ) , H c η i + µ i − : = H c η i + µ i : = β ( i ) α ( i ) + β ( i ) . (8)The desired extraction matrices in Equation (6) are thenspecified as follows: H : = H c , H per : = β ( m ) α ( m ) + β ( m ) H c β ( m ) α ( m ) + β ( m ) α ( m ) α ( m ) + β ( m ) α ( m ) α ( m ) + β ( m ) . (9) The number of rows in the two matrices are denoted with n : = η m + n per : = η m , respectively. The sparse andsimple structure of both matrices means that it is easy to ver-ify that both have full rank. Indeed, this conclusion can bedirectly deduced from the full rank of H c , which in turn isimplied by Equation (7). Moreover, their entries are non-negative, and the column sum is equal to one. Hence, weconclude that these matrices are DTA-compatible.How these matrices help us build C splines can be un-derstood by taking into account Equation (4) at any endpoint τ ( i ) . Let us discuss the non-periodic setting and fix i ∈ {
1, . . . , m − } ; the argument can be directly applied tothe periodic setting as well. Only four functions ( b µ i − , b µ i , b µ i + , b µ i + ) are not C at τ ( i ) . More precisely, only thesefour functions have non-vanishing values and first deriva-tives here. In view of (4), a spline f given by f ( t ) = (cid:88) j = f j b µ i − + j ( t ) will be C at τ ( i ) if f = f , α ( i ) ( f − f ) = β ( i ) ( f − f ) . (10)We can verify that the entries of H satisfy exactly such re-lations. Indeed, for some j , the matrix H defines two newfunctions B j and B j + such that B j B j + = α ( i ) α ( i ) + β ( i ) α ( i ) α ( i ) + β ( i ) β ( i ) α ( i ) + β ( i ) β ( i ) α ( i ) + β ( i ) (cid:124) (cid:123)(cid:122) (cid:125) = : ¯ H ( i ) b µ i − b µ i b µ i + b µ i + + ¯ B ( i ) j ¯ B ( i ) j + ,where ¯ B ( i ) j and ¯ B ( i ) j + are at least C at τ ( i ) . When setting [ f , f , f , f ] equal to the first or the second row of ¯ H ( i ) , wesee that Equation (10) is satisfied. The following result fol-lows from the above discussion. Theorem 2.2.
The C smooth piecewise-rational functions inthe sets { B i : i =
1, . . . , n } and { B peri : i =
1, . . . , n per } are lin-early independent, locally supported, and form a convex parti-tion of unity on Ω .Remark . In [
25, Section 2.3.5 ] it was observed that the C smooth piecewise-rational basis functions enjoy the prop-erties described in Theorem 2.2. However, a formal proofwas missing. It was also pointed out that the property of non-negativity is in general not present in case of C or highersmoothness. On the other hand, this is possible when re-stricting to polynomial pieces [ ] . Remark . With the aim of designing quadric curves, alsocalled conics, it is natural to choose local NURBS spaces ofthe same degree p and defined on the same uniform knotvector ξ . Moreover, it is common to set w ( i ) = w ( i ) n ( i ) = α ( i ) α ( i ) + β ( i ) = w ( i ) n ( i ) − w ( i ) n ( i ) − + w ( i + ) , β ( i ) α ( i ) + β ( i ) = w ( i + ) w ( i ) n ( i ) − + w ( i + ) .5inally, if there is additional symmetry in the choice ofweights, so w ( i ) n ( i ) − = w ( i + ) , we simply get α ( i ) α ( i ) + β ( i ) =
12 , β ( i ) α ( i ) + β ( i ) =
12 .Once we have computed a DTA-compatible extraction ma-trix H (or H per ), given n control points f i ∈ (cid:82) d , d ≥
2, wecan construct a piecewise-rational curve f embedded in (cid:82) d , f ( t ) = n (cid:88) i = f i B i ( t ) .For a fixed curve, the transpose of H (or H per ) defines therelationship between control points of the b j (discontinuousat the segment joins) and control points of the smooth B i .More precisely, if µ m (cid:88) j = g j b j ( t ) = f ( t ) = n (cid:88) i = f i B i ( t ) ,then g j = n (cid:88) i = H i j f i . (11) Remark . When dealing with curves, the proposedpiecewise-NURBS framework can also be formulated in thecontext of geometric continuity [ ] . In such case, the C smoothness condition at the segment join in (10) is replacedby the G smoothness condition f = f , α ( i ) ( f − f ) = γ ( i ) β ( i ) ( f − f ) ,for a given geometric shape parameter γ ( i ) >
0, resulting inthe matrix ¯ H ( i ) = α ( i ) α ( i ) + γ ( i ) β ( i ) α ( i ) α ( i ) + γ ( i ) β ( i ) γ ( i ) β ( i ) α ( i ) + γ ( i ) β ( i ) γ ( i ) β ( i ) α ( i ) + γ ( i ) β ( i ) .It is clear that this matrix is still DTA-compatible. The rational spline spaces defined in the previous sectioncan be refined in a multitude of ways. We could reduce thesmoothness at segment joins, raise the polynomial degrees oflocal NURBS spaces, and / or insert new knots in local NURBSspaces [
25, Section 2.4.3 ] . A combination of these possibil-ities could be judiciously employed to achieve spline spacesthat provide higher resolution or approximation power ex-actly where needed. In this section, we present an explicitconstruction of refined representations of a given piecewise-rational curve.Before delving into the details of the refinement proce-dure, we first define two matrices G and G per that can beregarded as right inverses of the extraction matrices H and H per , respectively. Looking at the structure of the matrix H c specified in Equations (7)–(8), we can define a sparse ma-trix G c of size ( µ m − ) × η m , whose non-zero entries G ci j areidentified as follows: for i =
1, . . . , m and j =
1, . . . , n ( i ) − G c µ i − + j , η i − + j : =
1. From its construction it is clear that the product H c G c isequal to the identity matrix. Similarly, keeping in mind Equa-tion (9), the matrices G : = G c , G per : = G c (12)give rise to products HG and H per G per that are equal to iden-tity matrices.Now, let (cid:82) be a given spline space and let us denote thetarget refined space with ˜ (cid:82) . For simplicity of notation, wedrop the superscript per in case of periodicity. Then, we con-sider the two unique representations of a curve f with coor-dinate functions in (cid:82) ⊂ ˜ (cid:82) , ˜ n (cid:88) i = ˜ f i ˜ B i ( t ) = f ( t ) = n (cid:88) i = f i B i ( t ) . (13)Let us collect the control points in the row vectors ˜ F : =[ ˜ f , . . . , ˜ f ˜ n ] and F : = [ f , . . . , f n ] . We now seek the refine-ment matrix R of size n × ˜ n that helps us compute ˜ F from F ,i.e., ˜ F = F R .Assume that H and ˜ H are the extraction matrices corre-sponding to the spaces (cid:82) and ˜ (cid:82) , respectively. Incorporatingthese matrices in the representations in Equation (13) resultsin ˜ F ˜ H ˜ b = F H b ,where the column vectors b and ˜ b collect the local NURBSbasis functions. Let the matrix S be such that b = S ˜ b ; thismatrix can be computed with standard NURBS refinementtechniques. Then, we have˜ F ˜ H ˜ b = F HS ˜ b .This implies that we can compute R by solving the following(overdetermined) linear system with a unique solution, R ˜ H = HS .After multiplication of both sides of this system with the ma-trix ˜ G (corresponding to ˜ H ) as defined in Equation (12), wearrive at R = HS ˜ G . (14)Note that the application of ˜ G in Equation (14) means thata subset of ˜ n columns of HS are selected to form R . Remark . The definition of ˜ G is done for the sake ofsimplicity of computation of R in Equation (14), but is notunique. Any matrix that is a right inverse of ˜ H would bea valid choice as well, such as the standard Moore–Penroseright inverse ˜ H T ( ˜ H ˜ H T ) − . We now present the general construction of ellipses (andas a special case also circles) using the C rational splines in-troduced thus far. We present three approaches for doing sousing splines of low(est) degree, i.e., C splines of quadratic6egree, cubic degree and mixed quadratic / cubic multi-degree. All approaches will construct four C piecewise-NURBS functions B i and associated control points f i , i =
1, . . . , 4, such that the curve f , f ( t ) : = ( f x ( t ) , f y ( t )) : = (cid:88) i = f i B i ( t ) ,describes the exact ellipse centred at (
0, 0 ) and with axislengths ( a x , a y ) , (cid:129) f x a x (cid:139) + (cid:18) f y a y (cid:19) =
1. (15)Since the splines B i form a partition of unity, these ellipsescan be affinely transformed by directly applying the transfor-mation to the control points f i . Subdivided or higher-degreerepresentations can be easily obtained by refining the repre-sentations provided here (see Section 2.3).To visually illustrate the smoothness of f , we will alsoshow the curve ˜ f obtained by perturbing one of the controlpoints. Since all B i are smooth, the perturbed curve will alsobe smooth. For uniformity throughout the examples, we willchoose the control points of the perturbed curve as˜ f i : = (cid:168) f i + ( a y ) , i = f i , i =
2, 3, 4. (16) description of degree C quadratic description of the ellipse inEquation (15) using 4 rational pieces. Consider the domain Ω = [
0, 4 ] in the periodic setting. Choose m = ξ ( i ) = [
0, 0, 0, 1, 1, 1 ] , w ( i ) = (cid:148) (cid:112) , 1 (cid:151) , i =
1, . . . , 4.We can define four C quadratic piecewise-NURBS functions B i on Ω using the extraction matrix H per =
12 12
12 12
12 12
12 12
12 12
12 12 ;(17)see Equation (9) taking into account Remark 2.4. Thesespline basis functions are shown in Figure 2 (a, top row). Fi-nally, we can build an ellipse centred at (
0, 0 ) and with axislengths ( a x , a y ) by combining the splines B i with the controlpoints f i defined as f = ( a x , a y ) = − f , f = ( a x , − a y ) = − f . Remark . To verify that the curve f satisfies Equation(15), we can proceed as follows. The simplest approach isto numerically evaluate f ( t ) at all t and plug the result inthat equation. Alternatively, this verification can also be per-formed analytically by looking at the explicit expressions ofthe rational pieces that form f . For instance, consider thefirst quadratic rational piece, g ( ) , that is a part of f . As dis-cussed in Equation (11), we can get the control points of this piece, denoted with g ( ) j , j ∈ {
1, 2, 3 } , by applying the trans-pose of (a submatrix of) H per from Equation (17) to a vectorcontaining the points f i , i.e., g ( ) j = (cid:88) i = H peri j f i .This yields the control points g ( ) = ( a y ) , g ( ) = ( a x , a y ) , g ( ) = ( a x , 0 ) .Combining the above control points with the NURBS basisdefined on the first segment, b w ( t ) = ( − t ) w ( t ) , b w ( t ) = (cid:112) t ( − t ) w ( t ) , b w ( t ) = t w ( t ) ,where w ( t ) : = ( − t ) + (cid:112) t ( − t )+ t , some simple algebrashows that g ( ) indeed satisfies Equation (15). Verificationsfor the other pieces of f can be similarly done. Example . Choosing a x = a y =
1, we obtain a circle ofradius 1, as shown in Figure 2 (a, middle row). This C quadratic description is equivalent to the one used in [ ] .The choice a x = a y = ( ) , as shown in Figure 2 (a, bottom row). The perturbedversions of these conics, with the control points chosen asin Equation (16), are shown as well and they remain clearlysmooth. (cid:135) description of degree C cubic representation of the ellipse inEquation (15) that uses only 2 rational pieces. Consider thedomain Ω = [
0, 2 ] in the periodic setting. Choose m = ξ ( i ) = [
0, 0, 0, 0, 1, 1, 1, 1 ] , w ( i ) = (cid:148) , , 1 (cid:151) , i =
1, 2.We can define four C cubic piecewise-NURBS functions B i on Ω using the extraction matrix H per =
12 12
12 12 . (18)These basis functions are shown in Figure 2 (b, top row).Choosing the associated control points f i as f = ( a x , a y ) = − f , f = ( a x , − a y ) = − f ,we get a C cubic description of an ellipse centred at (
0, 0 ) with axis lengths ( a x , a y ) . This can be verified in the vein ofRemark 2.7. Example . Choosing a x = a y =
1, we obtain a circle of ra-dius 1, as shown in Figure 2 (b, middle row). This C cubicdescription is equivalent to the one used in [ ] . The choice a x = a y = ( ) , asshown in Figure 2 (b, bottom row). The perturbed versionsof these conics, with the control points chosen as in Equation(16), are shown as well and they remain clearly smooth. Itcan be observed that, compared to the description from Sec-tion 2.4.1, the control points here are at a greater distancefrom the curve. This is completely analogous to the behaviorof classical NURBS. (cid:135) t B i t B i p p + p +
20 1 t B i ( a ) d e g r ee ( b ) d e g r ee ( c ) m u l t i - d e g r ee ( , , ) F i g u r e : D i ff e r e n t C s m oo t h d e s c r i p t i o n s o f u n i t c i r c l e s a n d e ll i p s e s w i t h a x i s l e n g t h s ( , ) . T h e c o n i c s i n fi g u r e bo x e s ( a ) – ( c ) a r e m a d e u p o f C s p l i n e s o f d e g r ee , d e g r ee a n d m u l t i - d e g r ee ( , , ) , r e s p e c t i v e l y . I n e a c h bo x , t h e m i dd l e a n d bo tt o m r o w s o f fi g u r e ss h o w t h e C c i r c l e s a n d e ll i p s e s b u i l t u s i n g t h e C B - s p l i n e f u n c t i o n ss h o w n a tt h e t o p ; t h e t - a x i s m a r k e r s c o rr e s p o n d t o t h e b r e a k p o i n t l o c a t i o n s . F u r t h e r m o r e , i n e a c h o f t h e bo tt o m t w o r o w s o f fi g u r e s , t h e c u r v e o n t h e l e f t s h o w s t h ee x a c t c o n i c , a n d t h e c u r v e o n t h e r i g h t i s ob t a i n e d b y r a i s i n g o n e o f t h e c o n t r o l p o i n t s o f t h ee x a c t c o n i c ; s ee E x a m p l e s . , . a n d . f o r d e t a i l s . ( E v e n t h o u g h a ll c i r c l e s a n d e ll i p s e s h a v e t h e s a m e r e s p e c t i v e d i m e n s i o n s , t h e y a r e s c a l e dd i ff e r e n t l y o n l y t o a cc o mm o d a t e t h e i r c o n t r o l n e t s i n t o t h e fi g u r e . ) .4.3. C description of multi-degree (
3, 2, 2 ) Many, many different C low-degree representations ofthe circle can be cooked up. Instead of attempting the impos-sible task of presenting them all, we present a single examplethat uses our splines in a more general setting than the abovetwo descriptions. Consider the domain Ω = [ (cid:112) + ] in theperiodic setting. Choose m = ξ ( ) = [
0, 0, 0, 0, (cid:112) (cid:112) (cid:112) (cid:112) ] , w ( ) = (cid:148) , , 1 (cid:151) , ξ ( ) = ξ ( ) = [
0, 0, 0, 1, 1, 1 ] , w ( ) = w ( ) = (cid:148) (cid:112) , 1 (cid:151) . Remark . Opting for geometric continuity (see Re-mark 2.5) would have allowed the choice of Ω with integrallength, but the present setting is sufficient for illustrative pur-poses.Then, we can define four C multi-degree piecewise-NURBS functions B i on Ω using the extraction matrix H per =
13 13
23 23
12 12
12 12 .These basis functions are shown in Figure 2 (c, top row).Choosing the associated control points f i as f = ( a x , a y ) , f = ( a x , − a y ) , f = ( − a x , − a y ) , f = ( − a x , a y ) ,we get a C multi-degree description of an ellipse centred at (
0, 0 ) with axis lengths ( a x , a y ) . This can be verified in thevein of Remark 2.7. Example . Choosing a x = a y =
1, we obtain a circle ofradius 1, as shown in Figure 2 (c, middle row). The choice a x = a y = ( ) , asshown in Figure 2 (c, bottom row). The perturbed versionsof these conics, with the control points chosen as in Equa-tion (16), are shown as well and they remain clearly smooth.Once again, compared to the description from Section 2.4.1,the control points here lie at a greater distance from the cubicportion of the curve. (cid:135)
3. Piecewise-rational polar surfaces
In this section, we describe how to construct C smoothrepresentations for polar surfaces containing single or dou-ble polar singularities (e.g., hemispheres and spheres, re-spectively). Such surfaces can be obtained by starting froma bivariate tensor-product (piecewise-NURBS) spline patchand collapsing one or two of its edges, respectively, as illus-trated in Figure 3. Each of such edge collapses creates a polarpoint and can be achieved by coalescing the control pointsrelated to basis functions with non-zero values on the edge.In general, however, this control-point coalescing will intro-duce kinks at the poles and the surface representation willnot be smooth. To achieve overall smoothness, additionalconditions need to be satisfied by the control points [ ] . In Section 3.1, we derive C smoothness condi-tions at a polar point, and they enable us to build smooth po-lar splines as linear combinations of bivariate tensor-product (a) Single polar singularity(b) Double polar singularity Figure 3: A single edge or a pair of opposite edges of a tensor-product spline patch can be collapsed for creating geome-tries with polar singularities. The collapsed edges hereare shown in red, and the black edges are identified witheach other to enforce periodicity. splines in Section 3.2. Then, in Section 3.3, we give an ex-plicit procedure how to compute a refined representation ofa given polar surface. Finally, in Section 3.4, we presentexplicit descriptions of arbitrary ellipsoids using C smoothlow-degree polar spline representations suited for integrateddesign and analysis. A polar surface will be smooth at a polar point if it canbe locally (re)parameterized in a smooth way. Such parame-terizations can be specified in a constructive manner and weelaborate upon it in this section. The resulting conditionswill help us build smooth polar B-splines in the next section.As shown in Figure 3, we first describe the initial setup —a tensor-product spline space on a rectangular domain. Westart from two univariate C rational spline spaces (cid:82) s , (cid:82) t defined on the univariate domains Ω s : = [ s , s ] and Ω t : =[ t , t ] , respectively; the superscripts of s and t are meantto indicate the symbols used for the respective coordinates.Using a Cartesian product, we build the rectangular domain Ω : = Ω s × Ω t , and on Ω we define the tensor-product splinespace (cid:82) : = (cid:82) s ⊗ (cid:82) t . Without loss of generality, we as-sume that s = t =
0. This tensor-product spline spaceis spanned by tensor-product B-spline basis functions B i j , i =
1, . . . , n s ; j =
1, . . . , n t . Here, n s and n t denote the re-spective dimensions of the chosen univariate spline spaces;the basis functions spanning these spaces are denoted with B si and B tj . Then, the tensor-product basis function B i j is sim-ply the product B si B tj . The functions B i j are assumed to beperiodic in s and non-periodic in t .Now, let us use the functions B i j to map the domain Ω toa polar surface using edge-collapse. Then, the smoothnessconditions at a collapsed edge will only involve those B i j thathave non-zero first derivatives there. Observe that, if n t ≥ B i j with non-zero first derivatives at the bottomedge of Ω will have zero first derivatives at its top edge, andvice versa. The upshot is that, when we are collapsing boththe bottom and top edges of Ω into two polar points, as inFigure 3 (b), the smoothness conditions at those points areindependent of each other and can be resolved separately for n t ≥ .1.1. Single polar point In light of the above discussion, in the following we first fo-cus on the case of a single collapsed edge, i.e., the one shownin Figure 3 (a). We derive smoothness conditions that willhelp us build smooth polar spline functions (and, using them,smooth polar surfaces). This is done by explicitly specifyingthe parameterization with respect to which the spline func-tions are deemed smooth. First, we construct a planar disk-like domain Ω pol , called the polar parametric domain , via asuitable polar map F ; see Figure 3 (a). Next, for an arbitrary C spline f ∈ (cid:82) , we define f pol : Ω pol → (cid:82) to be f ◦ F − .In general, f pol will be multivalued at the pole. Finally, wederive the required smoothness conditions by asking for f pol to be C smooth at the polar point.We start by building F . Assign the control point F i j : =( ρ j cos ( θ i ) , ρ j sin ( θ i )) ∈ (cid:82) to the basis function B i j , where ρ j : = j − n t − ∈ [
0, 1 ] , (19)and θ i : = π + ( − i ) π n s ∈ [
0, 2 π ] . (20)The above choice of control-point values has been made inthe interest of standardization and is not unique. Using thesecontrol points, we can construct the disk-like domain Ω pol with the aid of the map F from Ω to Ω pol , Ω (cid:51) ( s , t ) (cid:55)→ F ( s , t ) = ( u , v ) ∈ Ω pol ,defined as F ( s , t ) : = ( F u ( s , t ) , F v ( s , t )) : = n s (cid:88) i = n t (cid:88) j = F i j B i j ( s , t ) . (21)Note that the above construction will not necessarily yieldan exactly circular domain Ω pol ; its shape will depend onthe choice of (cid:82) . This domain will serve as the reference ele-ment for the smoothness of polar configurations, i.e., we willdefine polar splines such that they are C smooth functionsover Ω pol . It is clear that for all s ∈ Ω s , F ( s , 0 ) = (
0, 0 ) , (22)where (
0, 0 ) ∈ Ω pol is the polar point. Note that this implies ∂ F u ∂ s (cid:12)(cid:12)(cid:12)(cid:12) t = ≡ ≡ ∂ F v ∂ s (cid:12)(cid:12)(cid:12)(cid:12) t = . (23)Let B poli j be the image of B i j under the polar map F : Ω (cid:55)→ Ω pol in Equation (21) so that B poli j ( u , v ) = B poli j ( F ( s , t )) = B i j ( s , t ) .Then, for given coefficients f i j , a polar spline function f pol over Ω pol can be constructed as f pol ( u , v ) = n s (cid:88) i = n t (cid:88) j = f i j B poli j ( u , v ) .We can pull f pol back to Ω as follows, f ( s , t ) : = f pol ( F ( s , t )) = n s (cid:88) i = n t (cid:88) j = f i j B poli j ( F ( s , t ))= n s (cid:88) i = n t (cid:88) j = f i j B i j ( s , t ) . (24) Moreover, by using the chain rule we can also relate the par-tial derivatives of f and f pol : ∂ f ∂ s ( s , t ) = ∂ f pol ∂ u ( u , v ) ∂ F u ∂ s ( s , t ) + ∂ f pol ∂ v ( u , v ) ∂ F v ∂ s ( s , t ) , ∂ f ∂ t ( s , t ) = ∂ f pol ∂ u ( u , v ) ∂ F u ∂ t ( s , t ) + ∂ f pol ∂ v ( u , v ) ∂ F v ∂ t ( s , t ) .For f pol to be C smooth at the polar point, there must existreal values α , β , γ such thatlim ( u , v ) → ( ) (cid:20) f pol , ∂ f pol ∂ u , ∂ f pol ∂ v (cid:21) ( u , v ) = [ α , β , γ ] . (25)In view of (22) and (23) this means for all s ∈ Ω s , f ( s , 0 ) = α , ∂ f ∂ t ( s , 0 ) = β ∂ F u ∂ t ( s , 0 ) + γ ∂ F v ∂ t ( s , 0 ) .In particular, since only B i j , j ≤
2, have non-zero values andderivatives when t =
0, the above condition translates to thefollowing requirement for all s ∈ Ω s , n s (cid:88) i = f i B i ( s , 0 ) = α , n s (cid:88) i = (cid:88) j = (cid:2) f i j − F i j · ( β , γ ) (cid:3) ∂ B i j ∂ t ( s , 0 ) =
0. (26)
Equation (26) shows the required smoothness conditionswhen the bottom edge of Ω is being collapsed. Next, ifwe also want to collapse the top edge of Ω , we can repeatthe previous argument with minor changes. We would, ofcourse, need to choose a map ˆ F that collapses the edge Ω s × { t } instead. One way of achieving this could be bychoosing the control points ˆ F i j : = ( ˆ ρ j cos ( ˆ θ i ) , ˆ ρ j sin ( ˆ θ i )) ∈ (cid:82) , where ˆ ρ j : = − ρ j , ˆ θ i : = π − θ i .Then, we can follow the same argument as in Section 3.1.1.Asking for C smoothness of ˆ f pol is equivalent to asking thatthere exist real values ˆ α , ˆ β , ˆ γ such that for all s ∈ Ω s , n s (cid:88) i = f i , n t B i , n t ( s , t ) = ˆ α , n s (cid:88) i = n t (cid:88) j = n t − (cid:2) f i j − ˆ F i j · ( ˆ β , ˆ γ ) (cid:3) ∂ B i j ∂ t ( s , t ) =
0. (27)Note once again that the smoothness at the polar point corre-sponding to t = F ( Ω ) , while that at the polar point corresponding to t = t is imposed with respect to the parameterization ˆ F ( Ω ) .The corresponding smoothness conditions in Equations (26)and (27) involve different coefficients f i j for n t ≥
4, and socan be resolved separately.
Remark . The choices of θ i , ρ j , ˆ θ i , ˆ ρ j are such that themaps F and ˆ F preserve the orientation of the parametric do-main Ω . We now elaborate how the derived C smoothness con-straints at a polar point will enable the computation of aDTA-compatible extraction matrix. This matrix represents alinear map to a set of polar spline basis functions that are C smooth on the polar parametric domain.10 .2.1. Single polar point As before, we start by considering the case of a single col-lapsed edge, i.e., the one shown in Figure 3 (a). Let usarrange the set of basis functions { B poli j : i =
1, . . . , n s ; j =
1, . . . , n t } in a vector B , where B poli j occupies the ( i +( j − ) n s ) -th entry. Our goal is to construct C smooth polar basis func-tions on the polar parametric domain Ω pol as suitable linearcombinations of the functions B poli j . In other words, we arelooking for an extraction matrix E such that the polar splinebasis functions in { N poll : l =
1, . . . , n } defined by the follow-ing relation, N : = EB , (28)are C at the polar point. For fixed j , the set { B poli j : i =
1, . . . , n s } is called the ( j − ) -th polar ring of basis func-tions. When j >
2, all basis functions in the ( j − ) -th ringalready satisfy the C continuity conditions at the polar point(their derivatives are identically zero there), so they can beincluded without modifications in the set of polar basis func-tions being created. The others will be substituted by threesmooth polar basis functions. This dictates that E will bea matrix, with n : = n s ( n t − ) + n s n t columns,taking the following sparse block-diagonal form: E : = ¯ E I , (29)where I is the identity matrix of size n s ( n t − ) × n s ( n t − ) and¯ E is a matrix of size 3 × n s . The entry of ¯ E correspondingto its l -th row and ( i + ( j − ) n s ) -th column is denoted with¯ E l , ( i j ) . We can then rewrite Equation (28) as follows for l =
1, 2, 3, N poll ( u , v ) = n s (cid:88) i = (cid:88) j = ¯ E l , ( i j ) B poli j ( u , v ) .We can pull these back to Ω using Equation (24) to obtainthe equivalent representation for l =
1, 2, 3, N l ( s , t ) = n s (cid:88) i = (cid:88) j = ¯ E l , ( i j ) B i j ( s , t ) . (30)We will enforce C continuity at the polar point by requir-ing the basis functions N poll to satisfy a linearly independentHermite data set at the polar point, in the spirit of Equation(25). To this end, we will use three source basis functions { T l : l =
1, 2, 3 } , that provide us with the appropriate Her-mite data. Given a non-degenerate triangle (cid:52) with vertices v , v and v , let ( λ , λ , λ ) be the unique barycentric co-ordinates of point ( u , v ) with respect to (cid:52) such that λ v + λ v + λ v = ( u , v ) , λ + λ + λ = T l ( u , v ) : = λ l , l =
1, 2, 3.These functions can be interpreted as triangular Bernsteinpolynomials of degree 1. They are non-negative on the do-main triangle (cid:52) . Moreover, they are linearly independent,form a partition of unity, and span the space of bivariatepolynomials of total degree less than or equal to 1. Then,we require that N l in Equation (30) is a spline function f such that it satisfies the continuity constraints in Equation(26), with α = T l (
0, 0 ) , β = ∂ T l ∂ u (
0, 0 ) , γ = ∂ T l ∂ v (
0, 0 ) ,for l =
1, 2, 3. In the interest of standardization, we choosethe triangle (cid:52) as equilateral with vertices v = ( ρ , 0 ) , v = ( − ρ , (cid:112) ρ ) , v = ( − ρ , −(cid:112) ρ ) ;recall the definition of ρ from Equation (19). After somecalculations, we deduce that¯ E ( i ) = ¯ E ( i ) = ¯ E ( i ) =
13 ,and ¯ E ( i ) ¯ E ( i ) ¯ E ( i ) = − (cid:112)
36 13 − − (cid:112)
36 13 cos ( θ i ) sin ( θ i ) .This relation says that (cid:0) ¯ E ( i ) , ¯ E ( i ) , ¯ E ( i ) (cid:1) are simplythe barycentric coordinates of the control point F i : =( ρ cos ( θ i ) , ρ sin ( θ i )) with respect to (cid:52) . It is easily checkedthat (cid:52) encloses the circle centred at (
0, 0 ) with a radius of ρ ,and hence (cid:0) ¯ E ( i ) , ¯ E ( i ) , ¯ E ( i ) (cid:1) are guaranteed to be non-negative. In summary, ¯ E is specified as¯ E : = · · · ¯ E ( ) · · · ¯ E ( i ) · · · ¯ E ( n s ) · · · ¯ E ( ) · · · ¯ E ( i ) · · · ¯ E ( n s ) · · · ¯ E ( ) · · · ¯ E ( i ) · · · ¯ E ( n s ) .(31)This matrix has full rank and the column sum is equal to one,thus confirming that E is DTA-compatible. The following re-sult follows from the above discussion. Theorem 3.2.
The C smooth polar spline functions in theset { N poll : l =
1, . . . , n } are linearly independent, locally sup-ported, and form a convex partition of unity on Ω pol .Remark . As long as (cid:52) is chosen to be a triangle enclosingthe first polar ring of control points F i j for a given configura-tion, we are guaranteed non-negative extraction coefficients.It is only in the interest of standardization that we have cho-sen to fix (cid:52) as an equilateral triangle with a fixed pattern ofvertices.Given n control points f l ∈ (cid:82) d , d ≥
3, we can construct a C polar surface f embedded in (cid:82) d , f ( u , v ) = n (cid:88) l = f l N poll ( u , v ) ,or, equivalently, after pulling back to Ω , f ( s , t ) = n (cid:88) l = f l N l ( s , t ) . (32)The behavior of f at the polar point is going to be fully spec-ified by the first three control points f , f and f . Thesecontrol points can be thought of as forming a control triangle .For a fixed surface, the transpose of the extraction matrix E B i j andcontrol points of the smooth N l . More precisely, if n s (cid:88) i = n t (cid:88) j = g i j B i j ( s , t ) = f ( s , t ) = n (cid:88) l = f l N l ( s , t ) ,then g i j = n (cid:88) l = E l , ( i j ) f l . (33)In particular, the transpose of the extraction matrix ¯ E inEquation (31) essentially computes the control points of thezeroth and the first polar rings of basis functions B i j as con-vex combinations of f , f and f . In other words, it forcesthe zeroth and the first polar rings of the control points g i j to be coplanar. The plane in which they lie is the one passingthrough f , f and f , and hence the control triangle mustbe tangent to the surface f at the pole.In light of Theorem 3.2 we can immediately conclude thefollowing properties for the pulled-back functions N l , l =
1, . . . , n . Corollary 3.4.
The spline functions in the set { N l : l =
1, . . . , n } are linearly independent, locally supported, and forma convex partition of unity on Ω . Moreover, any polar surface f as in Equation (32) with non-collinear control points f , f and f will have a well-defined tangent plane at the pole.Remark . According to Section 2.2, the univariate sets ofbasis functions { B si : i =
1, . . . , n s } and { B tj : j =
1, . . . , n t } arebuilt from local NURBS basis functions through extractionmatrices H s and H t , respectively. Hence, by combining thematrices E , H s and H t , the spline basis functions in the set { N l : l =
1, . . . , n } can be directly expressed in terms of localtensor-product NURBS basis functions. When dealing with double polar surfaces, the spline con-struction can be obtained by collapsing a pair of two oppo-site edges as illustrated in Figure 3 (b). As explained in Sec-tion 3.1, the smoothness treatment of the two poles can bedone separately for n t ≥
4. In this case, each pole leads toa local extraction matrix by applying the same procedure asin Section 3.2.1 and the combined global extraction matrixtakes the following sparse block-diagonal form: E : = ¯ E ( ) I ¯ E ( ) , (34)where I is the identity matrix of size n s ( n t − ) × n s ( n t − ) and ¯ E ( i ) , i =
1, 2, are matrices of size 3 × n s . By choosingthe two polar parameterizations F ( Ω ) and ˆ F ( Ω ) specified inSection 3.1, it is easily verified that one can set¯ E ( ) : = ¯ E , ¯ E ( ) : = J ¯ E J n s , (35)where ¯ E is the matrix defined in Equation (31) and J k is theexchange matrix of size k × k , i.e., an anti-diagonal matrixof the form J k : = . The extraction matrix E can then be used to compute the setof spline functions { N l : l =
1, . . . , n } in terms of the tensor-product functions { B i j : i =
1, . . . , n s ; j =
1, . . . , n t } . Similarto the single-pole result in Corollary 3.4, these spline func-tions have the following properties. Corollary 3.6.
The spline functions in the set { N l : l =
1, . . . , n } are linearly independent, locally supported, and forma convex partition of unity on Ω . Moreover, any polar surface f as in Equation (32) with non-collinear control points f , f and f and with non-collinear control points f n − , f n − and f n will have a well-defined tangent plane at both poles.3.3. Refinement of piecewise-rational polar surfaces A polar spline surface can be refined in a manner similar tothe one discussed in Section 2.3. We begin with the followingobservation. Consider the 3 × M : = − (cid:112)
36 13 − − (cid:112)
36 13 ( θ ι ) cos ( θ κ ) ( θ ι ) sin ( θ κ ) ,for some angles θ ι and θ κ (cid:54)∈ { θ ι , θ ι + π } selected from the setin Equation (20). This a submatrix of ¯ E , defined in Equation(31), consisting of three linearly independent columns. Itsinverse is given by¯ M − = ( θ ι ) cos ( θ κ ) ( θ ι ) sin ( θ κ ) − − (cid:112)
36 13 − − (cid:112)
36 13 − = ( θ κ − θ ι ) ¯ L − − (cid:112) −(cid:112)
31 1 1 ,where¯ L : = sin ( θ ι ) − sin ( θ κ ) cos ( θ κ ) − cos ( θ ι ) sin ( θ κ − θ ι ) sin ( θ κ ) − cos ( θ κ ) − sin ( θ ι ) cos ( θ ι ) .Then, we define a sparse matrix ¯ D of size 2 n s ×
3, whosenon-zero entries ¯ D i j are identified as follows: for j =
1, 2, 3,¯ D j : = ¯ M − j , ¯ D n s + ι , j : = ¯ M − j , ¯ D n s + κ , j : = ¯ M − j .From its construction it is clear that the product ¯ E ¯ D is equal to the identity matrix. Note that the product ( J ¯ E J n s )( J n s ¯ DJ ) is also equal to the identity matrix.Hence, keeping in mind the definition of E in Equations(34)–(35), the matrix D : = ¯ D I J n s ¯ DJ (36)gives rise to a product ED that is equal to the identity matrix.A similar matrix D can be found (with only two diagonalblocks) for the matrix E defined in Equation (29).12ny refinement matrix of polar splines can then be builtusing the following procedure. First, we compute the controlpoints of the tensor-product basis functions B i j as in Equa-tion (33). Then, we refine the tensor-product control pointsusing a tensor product of univariate refinement matrices (seeSection 2.3). Denote this matrix with S , and denote the polarspline extraction matrices before and after refinement with E and ˜ E , respectively. Then, control points of the refinedpolar spline basis functions can be obtained by applying amatrix R to the original set of polar control points, where R is computed by solving the following (overdetermined) lin-ear system with a unique solution, R ˜ E = ES .After multiplication of both sides of this system with the ma-trix ˜ D (corresponding to ˜ E ) as defined in Equation (36), wearrive at R = ES ˜ D . (37) Remark . Similar to Remark 2.6, there is some flexibilityin the definition of ˜ D for the computation of R in Equation(37), as long as it is a right inverse of ˜ E . The current choiceis again done for the sake of simplicity. For the computationof ¯ M − , from a numerical point of view, it is advised to selectthe angles θ ι and θ κ from the set in Equation (20) such thattheir difference is as close as possible to ± π/
2. For instance,taking ι = κ + (cid:98) n s / + / (cid:99) gives θ κ − θ ι = π n s (cid:155) n s + (cid:158) ,and then det ( ¯ M ) = sin ( θ κ − θ ι ) ≥ n s ≥ Let us now present explicit descriptions of ellipsoids (andas a special case also spheres) built using the C polar splineframework discussed thus far. Once again, in the interestof providing the simplest possible representations, we focuson smooth descriptions of low(est) degree only. More pre-cisely, we present three explicit descriptions of arbitrary ellip-soids using smooth polar splines. The first one uses 8 ratio-nal pieces of bi-degree (
2, 2 ) ; the second one uses 4 rationalpieces of bi-degree (
2, 3 ) ; and the last one uses 2 rationalpieces of bi-degree (
3, 3 ) . All approaches will define six C polar spline functions N l and associated control points f l , l =
1, . . . , 6, such that the bivariate surface f , f ( s , t ) : = ( f x ( s , t ) , f y ( s , t ) , f z ( s , t )) : = (cid:88) l = f l N l ( s , t ) ,describes the exact ellipsoid centred at (
0, 0, 0 ) and with axislengths ( a x , a y , a z ) , (cid:129) f x a x (cid:139) + (cid:18) f y a y (cid:19) + (cid:129) f z a z (cid:139) =
1. (38)To this end, we will make repeated use of the identity matrix I k of size k × k and the exchange matrix J k of size k × k .To visually illustrate the smoothness of f , we will alsoshow the surface ˜ f obtained by perturbing one of the controlpoints. This surface will also be smooth at the poles. For uni-formity throughout the examples, we will choose the controlpoints of the perturbed surface as˜ f l : = (cid:168) f l + (
0, 0, 4 a x ) , l = f l , l (cid:54) =
3. (39) description of degree (
2, 2 ) For the first approach, we choose Ω s = [
0, 4 ] and Ω t =[
0, 2 ] , and build the univariate rational spline spaces (cid:82) s (pe-riodic) and (cid:82) t on them using the following sets of parame-ters: (cid:82) s : ξ ( i ) = [
0, 0, 0, 1, 1, 1 ] w ( i ) = (cid:148) (cid:112) , 1 (cid:151) (cid:41) i =
1, . . . , 4; (cid:82) t : ξ ( i ) = [
0, 0, 0, 1, 1, 1 ] w ( i ) = (cid:148) (cid:112) , 1 (cid:151) (cid:41) i =
1, 2.The corresponding piecewise-NURBS extraction operatorsare H s = H per defined in Equation (17) and H t given by H t =
12 12
12 12 ,respectively. The full tensor-product extraction matrix is ob-tained as H = H s ⊗ H t . (40)The next ingredient in the C smooth polar construction isthe polar extraction operator, and it can be computed, usingabove formulas, to be E = ¯ E J ¯ E J , (41)where the matrix ¯ E is given by¯ E = + (cid:112) − −
13 13 − e + − e − e + e − e − e + − e − − e + ,and e + = (cid:112) +
16 , e − = (cid:112) −
16 ;see Equations (31) and (34)–(35). Here the compact nota-tion of adding a scalar to a matrix means the entrywise op-eration of adding the scalar to each entry of the matrix. Thematrix E maps a total of 16 tensor-product C − piecewise-NURBS B j of degree (
2, 2 ) to a total of 6 C polar splines N l . Equivalently, EH maps a total of 72 NURBS b j of degree (
2, 2 ) to a total of 6 C polar splines N l . These relations areencapsulated in the following equation, N l ( s , t ) = (cid:88) j = E l j B j ( s , t ) = (cid:88) j = E l j (cid:88) k = H jk b k ( s , t ) .Finally, the required ellipsoid in Equation (38) is obtained bydefining the associated 6 control points as f = (cid:0)
0, 2 (cid:112) a y , a z (cid:1) , f = (cid:128) − (cid:112) a x , −(cid:112) a y , a z (cid:138) , f = (cid:128)(cid:112) a x , −(cid:112) a y , a z (cid:138) , f = (cid:128) − (cid:112) a x , −(cid:112) a y , − a z (cid:138) , f = (cid:128)(cid:112) a x , −(cid:112) a y , − a z (cid:138) , f = (cid:0)
0, 2 (cid:112) a y , − a z (cid:1) . a ) d e g r ee ( , ) ( b ) d e g r ee ( , ) ( c ) d e g r ee ( , ) F i g u r e : D i ff e r e n t C s m oo t h d e s c r i p t i o n s o f u n i t s p h e r e s ( t o p r o w bo x e s ) a n d e ll i p s o i d s w i t h a x i s l e n g t h s ( , , ) ( bo tt o m r o w bo x e s ) . T h e q u a d r i c s i n fi g u r e s ( a ) – ( c ) a r e m a d e u p o f , a n d r a t i o n a l p i e c e s o f b i - d e g r ee s ( , ) , ( , ) a n d ( , ) , r e s p e c t i v e l y . I n p a r t i c u l a r , t h e t o p fi g u r e i n e a c h bo x s h o w s t h ee x a c t q u a d r i c , w h i l e t h e bo tt o m fi g u r e s h o w s a d e f o r m e d q u a d r i c ob t a i n e d b y r a i s i n g o n e o f t h e c o n t r o l p o i n t s o f t h ee x a c t q u a d r i c ; s ee E x a m p l e s . , . a n d . f o r d e t a i l s . xample . The box at the top in Figure 4 (a) shows a bi-degree (
2, 2 ) unit sphere built by choosing a x = a y = a z = (
2, 2 ) ellipsewith axis lengths ( , ) built by choosing a x = a y = a z =
1. These descriptions use only 8 rational pieces. Ineach box, the figure at the top shows the exact quadric, whilethe figure at the bottom shows the deformed quadric ob-tained by perturbing the control points as per Equation (39).The exact and deformed surfaces are all C smooth at thepoles. (cid:135) description of degree (
2, 3 ) For the second approach, we choose Ω s = [
0, 4 ] and Ω t = [
0, 1 ] , and build the univariate rational spline spaces (cid:82) s (periodic) and (cid:82) t on them using the following sets ofparameters: (cid:82) s : ξ ( i ) = [
0, 0, 0, 1, 1, 1 ] w ( i ) = (cid:148) (cid:112) , 1 (cid:151) (cid:41) i =
1, . . . , 4; (cid:82) t : ξ ( ) = [
0, 0, 0, 0, 1, 1, 1, 1 ] w ( ) = (cid:148) , , 1 (cid:151) .The corresponding piecewise-NURBS extraction operatorsare H s = H per defined in Equation (17) and H t = I , re-spectively. The full tensor-product extraction matrix H isobtained as in Equation (40). Moreover, the polar extractionoperator E is equal to the matrix in Equation (41). The lat-ter matrix maps a total of 16 tensor-product C − piecewise-NURBS B j of degree (
2, 3 ) to a total of 6 C polar splines N l .Equivalently, EH maps a total of 48 tensor-product NURBS b j of degree (
2, 3 ) to a total of 6 C polar splines N l . Theserelations are encapsulated in the following equation, N l ( s , t ) = (cid:88) j = E l j B j ( s , t ) = (cid:88) j = E l j (cid:88) k = H jk b k ( s , t ) .Finally, the required ellipsoid in Equation (38) is obtained bydefining the associated 6 control points as f = (cid:0)
0, 4 (cid:112) a y , a z (cid:1) , f = (cid:128) − (cid:112) a x , − (cid:112) a y , a z (cid:138) , f = (cid:128) (cid:112) a x , − (cid:112) a y , a z (cid:138) , f = (cid:128) − (cid:112) a x , − (cid:112) a y , − a z (cid:138) , f = (cid:128) (cid:112) a x , − (cid:112) a y , − a z (cid:138) , f = (cid:0)
0, 4 (cid:112) a y , − a z (cid:1) . Note that, since we are using a higher-degree representationcompared to Section 3.4.1, the control points move fartheraway from the spline surface, mimicking the behavior of clas-sical NURBS.
Example . The box at the top in Figure 4 (b) shows a bi-degree (
2, 3 ) unit sphere built by choosing a x = a y = a z = (
2, 3 ) ellipsewith axis lengths ( , ) built by choosing a x = a y = a z =
1. These descriptions use 4 rational pieces. In eachbox, the figure at the top shows the exact quadric, while thefigure at the bottom shows the deformed quadric obtained byperturbing the control points as per Equation (39). The exactand deformed surfaces are all C smooth at the poles. (cid:135) description of degree (
3, 3 ) Finally, for the third approach, we choose Ω s = [
0, 2 ] and Ω t = [
0, 1 ] , and build the univariate rational spline spaces (cid:82) s (periodic) and (cid:82) t on them using the following sets ofparameters: (cid:82) s : ξ ( i ) = [
0, 0, 0, 0, 1, 1, 1, 1 ] w ( i ) = (cid:148) , , 1 (cid:151) (cid:41) i =
1, 2; (cid:82) t : ξ ( ) = [
0, 0, 0, 0, 1, 1, 1, 1 ] w ( ) = (cid:148) , , 1 (cid:151) .The corresponding piecewise-NURBS extraction operatorsare H s = H per defined in Equation (18) and H t = I , re-spectively. The full tensor-product extraction matrix H isobtained as in Equation (40). Moreover, the polar extractionoperator E is equal to the matrix in Equation (41). The lat-ter matrix maps a total of 16 tensor-product C − piecewise-NURBS B j of degree (
3, 3 ) to a total of 6 C polar splines N l .Equivalently, EH maps a total of 32 tensor-product NURBS b j of degree (
3, 3 ) to a total of 6 C polar splines N l . Theserelations are encapsulated in the following equation, N l ( s , t ) = (cid:88) j = E l j B j ( s , t ) = (cid:88) j = E l j (cid:88) k = H jk b k ( s , t ) .Finally, the required ellipsoid in Equation (38) is obtained bydefining the associated 6 control points as f = (cid:0)
0, 4 (cid:112) a y , a z (cid:1) , f = (cid:128) − (cid:112) a x , − (cid:112) a y , a z (cid:138) , f = (cid:128) (cid:112) a x , − (cid:112) a y , a z (cid:138) , f = (cid:128) − (cid:112) a x , − (cid:112) a y , − a z (cid:138) , f = (cid:128) (cid:112) a x , − (cid:112) a y , − a z (cid:138) , f = (cid:0)
0, 4 (cid:112) a y , − a z (cid:1) . Observe again that, since we are using a higher-degree rep-resentation compared to Sections 3.4.1 and 3.4.2, the con-trol points move even farther away from the spline surface,mimicking the behavior of classical NURBS.
Example . The box at the top in Figure 4 (c) shows a bi-degree (
3, 3 ) unit sphere built by choosing a x = a y = a z = (
3, 3 ) ellipsewith axis lengths ( , ) built by choosing a x = a y = a z =
1. These descriptions use only 2 rational pieces. Ineach box, the figure at the top shows the exact quadric, whilethe figure at the bottom shows the deformed quadric ob-tained by perturbing the control points as per Equation (39).The exact and deformed surfaces are all C smooth at thepoles. (cid:135) Remark . The examples presented here have focused onthe simplest possible C descriptions of quadrics, namely de-scriptions that either use lowest-degree splines — bi-degree (
2, 2 ) — or the smallest number of polynomial pieces — two.Unsurprisingly, these simplest descriptions can lead to largecontrol triangles since each control point influences a largeportion of the spline surface. Nevertheless, localized con-trol is easily attained upon refinement (see Section 3.3) and,in particular, refinement also leads to much smaller controltriangles that offer much finer geometric control. The sur-face shown in Figure 5 illustrates this point. This surface hasbeen obtained by refining and modifying the control pointsof the bi-degree (
2, 2 ) sphere from Figure 4 (a). The smallercontrol triangle is visible near the top of the figure.15 igure 5: A smoothly deformed sphere built from Figure 4 (a) by re-fining the surface and then modifying the control points.
4. Conclusions
We have presented a general class of C smooth rationalsplines that allow for the construction and refinement of C smooth curves and (polar) surfaces. They are built by glu-ing together multiple sets of NURBS basis functions with C smoothness using a DTA-compatible extraction matrix. Themain features of the splines we have built are the following:• all standard properties of NURBS, including support forintuitive control-point-based design,• (local) degree elevation and knot insertion based onclassical NURBS refinement,• low-degree C descriptions of exact ellipses and ellip-soids, and• compatibility with CAD or CAE software through the ex-plicit representation in terms of NURBS.In particular, with regard to the last two bullets above, webelieve that the explicit, NURBS-compatible C descriptionsof ellipses and ellipsoids provided herein will be of use togeometric modellers [ ] and computational scientists [ ] alike. For instance, the exact C (re)parameterizations atpolar points may make the design of algorithms more stableand efficient; it may also avoid the need for special treatmentof polar points. Acknowledgements
H. Speleers was partially supported by the Beyond Bor-ders Program of the University of Rome Tor Vergata throughthe project ASTRID (CUP E84I19002250005) and by theMIUR Excellence Department Project awarded to the Depart-ment of Mathematics, University of Rome Tor Vergata (CUPE83C18000100006). He is a member of Gruppo Nazionaleper il Calcolo Scientifico, Istituto Nazionale di Alta Matem-atica.
References [ ] C. Bangert and H. Prautzsch. Circle and sphere as rational splines.
Neural, Parallel and Scientific Computations , 5:153–162, 1997. [ ] B. A. Barsky.
Computer Graphics and Geometric Modeling Using Beta-splines . Springer-Verlag, 1988. [ ] M. J. Borden, M. A. Scott, J. A. Evans, and T. J. R. Hughes. Isoge-ometric finite element data structures based on Bézier extraction ofNURBS.
International Journal for Numerical Methods in Engineering ,87:15–47, 2011. [ ] N. Dyn and C. A. Micchelli. Piecewise polynomial spaces and geomet-ric continuity of curves.
Numerische Mathematik , 54:319–337, 1989. [ ] G. Farin.
Curves and Surfaces for CAGD: A Practical Guide . MorganKaufmann, fifth edition, 2002. [ ] A. Gomes, I. Voiculescu, J. Jorge, B. Wyvill, and C. Galbraith.
ImplicitCurves and Surfaces: Mathematics, Data Structures and Algorithms .Springer-Verlag, 2009. [ ] R. R. Hiemstra, T. J. R. Hughes, C. Manni, H. Speleers, and D. Toshni-wal. A Tchebycheffian extension of multi-degree B-splines: Algorith-mic computation and properties.
SIAM Journal on Numerical Analysis ,58:1138–1163, 2020. [ ] T. J. R. Hughes, J. A. Cottrell, and Y. Bazilevs. Isogeometric analysis:CAD, finite elements, NURBS, exact geometry and mesh refinement.
Computer Methods in Applied Mechanics and Engineering , 194:4135–4195, 2005. [ ] K. Karˇciauskas, A. Myles, and J. Peters. A C polar jet subdivision. InK. Polthier and A. Sheffer, editors, Proceedings of the Fourth Eurograph-ics Symposium on Geometry Processing , pages 173–180. EurographicsAssociation, 2006. [ ] K. Karˇciauskas and J. Peters. Bicubic polar subdivision.
ACM Transac-tions on Graphics , 26:Article No. 14, 2007. [ ] K. Karˇciauskas and J. Peters. Smooth polar caps for locally quad-dominant meshes.
Computer Aided Geometric Design , 81:Article No.101908, 2020. [ ] J. Lu. Circular element: Isogeometric elements of smooth boundary.
Computer Methods in Applied Mechanics and Engineering , 198:2391–2402, 2009. [ ] J. Lu and X. Zhou. Cylindrical element: Isogeometric model of con-tinuum rod.
Computer Methods in Applied Mechanics and Engineering ,200:233–241, 2011. [ ] A. Myles.
Curvature-continuous bicubic subdivision surfaces for polarconfigurations . PhD thesis, University of Florida, 2008. [ ] A. Myles and J. Peters. Bi-3 C polar subdivision. ACM Transactionson Graphics , 28:Article No. 48, 2009. [ ] A. Myles and J. Peters. C splines covering polar configurations. Computer-Aided Design , 43:1322–1329, 2011. [ ] L. Piegl and W. Tiller.
The NURBS Book . Springer-Verlag, second edi-tion, 2012. [ ] D. F. Rogers.
An Introduction to NURBS: With Historical Perspective .Morgan Kaufmann, 2001. [ ] M. A. Scott, M. J. Borden, C. V. Verhoosel, T. W. Sederberg, and T. J. R.Hughes. Isogeometric finite element data structures based on Bézierextraction of T-splines.
International Journal for Numerical Methodsin Engineering , 88:126–156, 2011. [ ] K.-L. Shi, J.-H. Yong, J.-G. Sun, and J.-C. Paul. G n filling orbicular n -sided holes using periodic B-spline surfaces. Science China InformationSciences , 54:1383–1394, 2011. [ ] K.-L. Shi, J.-H. Yong, L. Tang, J.-G. Sun, and J.-C. Paul. Polar NURBSsurface with curvature continuity.
Computer Graphics Forum , 32:363–370, 2013. [ ] H. Speleers. Algorithm 999: Computation of multi-degree B-splines.
ACM Transactions on Mathematical Software , 45:Article No. 43, 2019. [ ] T. Takacs. Construction of smooth isogeometric function spaces onsingularly parameterized domains. In J.-D. Boissonnat et al., editors,
Curves and Surfaces, LNCS 9213 , pages 433–451. Springer, 2015. [ ] D. Toshniwal and T. J. R. Hughes. Isogeometric discrete differen-tial forms: Non-uniform degrees, Bézier extraction, polar splines andflows on surfaces.
Computer Methods in Applied Mechanics and Engi-neering , in press. [ ] D. Toshniwal, H. Speleers, R. R. Hiemstra, and T. J. R. Hughes. Multi-degree smooth polar splines: A framework for geometric modelingand isogeometric analysis.
Computer Methods in Applied Mechanicsand Engineering , 316:1005–1061, 2017. [ ] D. Toshniwal, H. Speleers, R. R. Hiemstra, C. Manni, and T. J. R.Hughes. Multi-degree B-splines: Algorithmic computation and prop-erties.
Computer Aided Geometric Design , 76:Article No. 101792, 2020. [ ] D. Toshniwal, H. Speleers, and T. J. R. Hughes. Smooth cubic splinespaces on unstructured quadrilateral meshes with particular emphasison extraordinary points: Geometric design and isogeometric analysisconsiderations.
Computer Methods in Applied Mechanics and Engineer-ing , 327:411–458, 2017., 327:411–458, 2017.