Next Article in Journal
Magnetic Geodesic in (Almost) Cosymplectic Lie Groups of Dimension 3
Next Article in Special Issue
Superconvergent Nyström and Degenerate Kernel Methods for Integro-Differential Equations
Previous Article in Journal
PDE-Based 3D Surface Reconstruction from Multi-View 2D Images
Previous Article in Special Issue
IGA-Energetic BEM: An Effective Tool for the Numerical Solution of Wave Propagation Problems in Space-Time Domain
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Quadratic B-Spline Surfaces with Free Parameters for the Interpolation of Curve Networks

Department of Mathematics, University of Torino, Via C. Alberto, 10-10123 Torino, Italy
*
Author to whom correspondence should be addressed.
Mathematics 2022, 10(4), 543; https://doi.org/10.3390/math10040543
Submission received: 28 December 2021 / Revised: 4 February 2022 / Accepted: 5 February 2022 / Published: 10 February 2022
(This article belongs to the Special Issue Spline Functions and Applications)

Abstract

:
In this paper, we propose a method for constructing spline surfaces interpolating a B-spline curve network, allowing the presence of free parameters, in order to model the interpolating surface. We provide a constructive algorithm for its generation in the case of biquadratic tensor product B-spline surfaces and bivariate B-spline surfaces on criss-cross triangulations. Finally, we present graphical results.

1. Introduction

When modeling free form shapes, e.g., ship hull forms, it could be more convenient to generate smooth parametric surfaces, interpolating a curve network, instead of using control points. This approach has been studied in the literature from different view points and with different methods, such as blending-function methods [1,2,3,4,5,6], smooth regularly parametrized piecewise polynomial surfaces [7] or subdivision schemes [8,9].
Tensor product B-spline surfaces, despite their limits, due to the parametric domain rectangular topology, can be a good tool in CAGD since they are quite simple to use and not too tightly constrained for the object shape in some cases (see e.g., [10,11] (Chapter 10)). Possible unwanted oscillations can be produced by their high coordinate degree, but they can be successfully avoided by smooth parametric surfaces on triangulations, having a lower total degree [12,13,14].
In this paper, we compare biquadratic tensor product B-spline surfaces and bivariate B-spline surfaces on criss-cross triangulations in order to detect advantages and disadvantages of both constructions. We investigate the degree two because it is the first degree that guarantees continuity C 1 and it is computationally simpler with respect to higher degrees. We note that in [10] (Chapter 10) a method based on Gordon surfaces is proposed to construct a tensor product B-spline surface interpolating a curve network. In this case, it is necessary to define three surfaces belonging to different spline spaces to be merged together by the knot refinement algorithm, while the method proposed here is directly based on the knot vectors of the given B-spline curves.
Starting from a so called minimal configuration [15], where a C 1 quadratic B-spline curve network is interpolated by a quadratic B-spline surface, whose knots match the curve network knots, we consider a more general approach by introducing some free parameters that provide some degree of freedom in the surface shape and that are obtained by letting some surface knots not satisfying such a match. This means that some surface knots are not network knots. In this regard, we investigate some properties of the obtained surfaces, both biquadratic and quadratic.
The paper is organized as follows.
The B-spline curve network and its compatibility conditions are introduced in Section 2, while the B-spline surface and its existence conditions are presented in Section 3 with an algorithm for its construction.
In Section 4, we present some numerical and graphical results.

2. The Network of B-Spline Curves

Let us denote by { P j ( r ) } j = 0 n + 2 , r = 0 , , R + 1 and { Q i ( s ) } i = 0 m + 2 , s = 0 , , S + 1 , P j ( r ) , Q i ( s ) R 3 , two given sets of control points, defining the C 1 quadratic B-spline curves
C r ( v ) = j = 0 n + 2 P j ( r ) B j ( v | V ) , r = 0 , , R + 1 , v [ c , d ] R , D s ( u ) = i = 0 m + 2 Q i ( s ) B i ( u | U ) , s = 0 , , S + 1 , u [ a , b ] R ,
with m R and n S , respectively. As in [10] (Chapter 10) and in [15], here we suggest the following compatibility conditions to be satisfied by (1):
C1.
all the curves D s ( u ) are defined on
U = { a = u 2 u 1 u 0 < u 1 < < u m < u m + 1 u m + 2 u m + 3 = b }
and all the curves C r ( v ) are defined on
V = { c = v 2 v 1 v 0 < v 1 < < v n < v n + 1 v n + 2 v n + 3 = d } .
The quadratic B-spline functions B i ( u | U ) and B j ( v | V ) , involved in (1) have supports [ u i 2 , u i + 1 ] and [ v j 2 , v j + 1 ] , respectively [16,17]. We also consider the so called Greville abscissae, given by
s i = u i 1 + u i 2 , i = 0 , , m + 2
and
t j = v j 1 + v j 2 , j = 0 , , n + 2 ,
to define ( s i , v s ) , pre-image of Q i ( s ) for all s, and ( u r , t j ) , pre-image of P j ( r ) for all r (Figure 1);
C2.
there exist parameters
u 0 = u i 0 < u i 1 < < u i R < u i R + 1 u m + 1
and
v 0 = v j 0 < v j 1 < < v j S < v j S + 1 v n + 1
such that
I r s = C r ( v j s ) = D s ( u i r ) , r = 0 , , R + 1 , s = 0 , , S + 1 .
Condition C2. is always satisfied by at least a curve network, even if it is supposed to be given. This can be proven following the same logical scheme given in [15]. Indeed, defining the following quantities:
σ r + 1 = h r + 1 h r + h r + 1 , σ r = h r 1 h r 1 + h r , τ s + 1 = k s + 1 k s + k s + 1 , τ s = k s 1 k s 1 + k s ,
for 0 r m + 2 and 0 s n + 2 , with h μ = u μ u μ 1 , k ν = v ν v ν 1 and h 1 = k 1 = h m + 2 = k n + 2 = 0 (setting to zero a possible 0 0 in (3)), since from [18] (Chapter X) and [19] (Section 1.5)
B i r ( u i r | U ) = σ i r + 1 , B i r + 1 ( u i r | U ) = σ i r + 1 , B j s ( v j s | V ) = τ j s + 1 , B j s + 1 ( v j s | V ) = τ j s + 1 ,
and thanks to the local support property of the B-splines, condition C2. can be written as
τ j s + 1 P j s ( r ) + τ j s + 1 P j s + 1 ( r ) = σ i r + 1 Q i r ( s ) + σ i r + 1 Q i r + 1 ( s ) , r = 1 , , R , s = 1 , , S .
Instead, on the boundary of the domain, we obtain
σ i r + 1 Q i r ( 0 ) + σ i r + 1 Q i r + 1 ( 0 ) = P 0 ( r ) , s = 0 , r = 1 , , R σ i r + 1 Q i r ( S + 1 ) + σ i r + 1 Q i r + 1 ( S + 1 ) = P n + 2 ( r ) , s = S + 1 , r = 1 , , R τ j s + 1 P j s ( 0 ) + τ j s + 1 P j s + 1 ( 0 ) = Q 0 ( s ) , r = 0 , s = 1 , , S τ j s + 1 P j s ( R + 1 ) + τ j s + 1 P j s + 1 ( R + 1 ) = Q m + 2 ( s ) , r = R + 1 , s = 1 , , S .
and
Q 0 ( 0 ) = P 0 ( 0 ) , Q m + 2 ( 0 ) = P 0 ( R + 1 ) , Q 0 ( S + 1 ) = P n + 2 ( 0 ) , Q m + 2 ( S + 1 ) = P n + 2 ( R + 1 ) .
Therefore, taking into account that m R , n S , it is always possible to construct a curve network satisfying condition C2, because the number of its control points N ¯ d = ( n + 3 ) ( R + 2 ) + ( m + 3 ) ( S + 2 ) is greater than the number of constraints N c = ( R + 2 ) ( S + 2 ) . Moreover, we remark that the case of minimal configuration is given when R = m and S = n .

3. Construction of the Interpolating C 1 B-Spline Surface

Let us consider two possible subdivisions of the parametric domain Ω = [ a , b ] × [ c , d ] : a rectangular partition R m n (Figure 1a), based on the knots { U × V } and a criss-cross triangulation T m n (Figure 1b), obtained by drawing the two diagonals in each rectangle of  R m n .
Here, we consider the two spline spaces it is possible to define on such partitions: S 2 , 2 1 , 1 ( R m n ) of all C 1 biquadratic tensor product splines, being a bivariate polynomial of coordinate degree 2 in each rectangle of R m n and S 2 1 ( T m n ) of all C 1 quadratic splines, being a bivariate polynomial of total degree 2 in each triangle of T m n . The first space has a basis defined by the set of ( m + 3 ) ( n + 3 ) B-splines { B i , j ( u , v ) = B i ( u | U ) · B j ( v | V ) , i = 0 , , m + 2 , j = 0 , , n + 2 } , while the second one is generated by the set of ( m + 3 ) ( n + 3 ) B-splines { B i , j ( u , v ) , i = 0 , , m + 2 , j = 0 , , n + 2 } with octagonal support (Figure 2) [16,17,20,21,22], being its dimension given by ( m + 3 ) ( n + 3 ) 1 .
Let B m n = { B i , j ( u , v ) , i = 0 , , m + 2 , j = 0 , , n + 2 } be one of the two sets of spanning functions above mentioned. Then the C 1 B-spline parametric surface, interpolating the network (1), can be written as follows:
S ( u , v ) = i = 0 m + 2 j = 0 n + 2 C i , j B i , j ( u , v ) , ( u , v ) Ω .
If B i , j S 2 , 2 1 , 1 ( R m n ) , then S is a tensor product surface, while, if B i , j S 2 1 ( R m n ) , then S is a triangulated surface.
To obtain such a surface, it is enough to compute its control points C i , j R 3 , i = 0 , , m + 2 , j = 0 , , n + 2 , having pre-images ( s i , t j ) Ω and a way to do it is to consider the network as a set of isoparametric curves of S :
S ( u i r , v ) = C r ( v ) , r = 0 , , R + 1 ,
S ( u , v j s ) = D s ( u ) , s = 0 , , S + 1 .
In the next theorem, the isoparametric conditions (5) and (6) are translated into new conditions on the { C i , j } ’s.
Theorem 1.
The curve network (1) is a set of isoparametric curves of S if, and only if, the following conditions are satisfied:
σ i r + 1 C i r , j + σ i r + 1 C i r + 1 , j = P j ( r ) , r = 1 , , R , j = 1 , , n + 1 ,
τ j s + 1 C i , j s + τ j s + 1 C i , j s + 1 = Q i ( s ) , s = 1 , , S , i = 1 , , m + 1 ,
C i , 0 = Q i ( 0 ) , i = 0 , , m + 2 ,
C i , n + 2 = Q i ( S + 1 ) , i = 0 , , m + 2 ,
C 0 , j = P j ( 0 ) , j = 0 , , n + 2 ,
C m + 2 , j = P j ( R + 1 ) , j = 0 , , n + 2 ,
for all control points { C i , j } in (4).
Proof. 
Since the B-splines in B m n have local support, B i , j ( u α , v ) 0 if i < α , i > α + 1 , any j. Therefore, from (4) it results
S ( u i r , v ) = i = 0 m + 2 j = 0 n + 2 C i , j B i , j ( u i r , v ) = j = 0 n + 2 C i r , j B i r , j ( u i r , v ) + C i r + 1 , j B i r + 1 , j ( u i r , v ) .
From the Bernstein–Bézier (BB-) coefficients of B i r , j ( u i r , v ) , B i r + 1 , j ( u i r , v ) , B j ( v | V ) , r = 1 , , R , j = 0 , , n + 2 , [23,24], we get
B i r , j ( u i r , v ) = σ i r + 1 B j ( v | V ) , B i r + 1 , j ( u i r , v ) = σ i r + 1 B j ( v | V ) .
Then, from (13) and (14), we obtain
S ( u i r , v ) = j = 0 n + 2 σ i r + 1 C i r , j + σ i r + 1 C i r + 1 , j B j ( v | V ) .
Thus, from (1), (5) and (15), condition (7) holds.
Now, with i 0 = 0 ,
S ( u 0 , v ) = i = 0 m + 2 j = 0 n + 2 C i , j B i , j ( u 0 , v ) = j = 0 n + 2 C 0 , j B 0 , j ( u 0 , v )
and B 0 , j ( u 0 , v ) = B j ( v | V ) [23,24], from (1), (5) and (16), we get (11).
Similarly, by setting u = u m + 1 in (4), since i R + 1 = m + 1 , (12) follows.
In the same way, from (6), we obtain (8)–(10). □
Remark 1.
From Theorem 1, we can immediately get that
C 0 , 0 = Q 0 ( 0 ) = P 0 ( 0 ) , C m + 2 , 0 = Q m + 2 ( 0 ) = P 0 ( R + 1 ) , C 0 , n + 2 = Q 0 ( S + 1 ) = P n + 2 ( 0 ) , C m + 2 , n + 2 = Q m + 2 ( S + 1 ) = P n + 2 ( R + 1 ) .
Now, we want to count the number of free parameters, useful to model the surface S , i.e., the number of control points in the surface definition that can be arbitrarily chosen. Since m R and n S , we suppose m = R + k and n = S + , with k , 0 .
Theorem 2.
In order to model the surface S , the number of free control points in S is
N = k + + k + 1 i n   c a s e   S 2 , 2 1 , 1 ( R m n ) k + + k i n   c a s e   S 2 1 ( T m n ) .
Proof. 
The number of free parameters (denoted by N) is given by the number of parameters we have to compute (denoted by N 1 ) minus the number of constraints given by the interpolation conditions (denoted by N 2 ).
N 1 is the dimension of the spline space used for the construction of the surface:
N 1 = ( m + 3 ) ( n + 3 ) i n   c a s e   S 2 , 2 1 , 1 ( R m n ) ( m + 3 ) ( n + 3 ) 1 i n   c a s e   S 2 1 ( T m n ) .
From Theorem 1, the number of interpolation conditions is R ( n + 1 ) + S ( m + 1 ) + 2 ( m + 3 ) + 2 ( n + 3 ) , but, taking into account the redundant conditions at the four corners of the domain and the compatibility conditions C2. for each inner point ( u i r , v j s ) , for r = 1 , , R and s = 1 , , S , then the number of interpolation conditions is
N 2 = R ( n + 1 ) + S ( m + 1 ) + 2 ( m + 3 ) + 2 ( n + 3 ) 4 R S = m n + 3 m + 3 n + 8 k k .
Therefore, we obtain
N = N 1 N 2 = k + + k + 1 i n   c a s e   S 2 , 2 1 , 1 ( R m n ) k + + k i n   c a s e   S 2 1 ( T m n ) .
 □
The aim of this section is the construction of the interpolating surface, where the constrained coefficients depend on the control points { P j ( r ) } j = 0 n + 1 and { Q i ( s ) } i = 0 m + 1 of the curve network. From (7) and (8), we can observe that
C i r + 1 , j = P j ( r ) σ i r + 1 C i r , j σ i r + 1 σ i r + 1 , C i , j s + 1 = Q i ( s ) τ j s + 1 C i , j s τ j s + 1 τ j s + 1
Therefore, the C i , j ’s that are excluded from (7) and (8), i.e., for
i i r , i r + 1 and j j s , j s + 1 , with i = 1 , , m + 1 , j = 1 , , n + 1 , r = 1 , , R , s = 1 , , S
are free parameters. The other parameters can be computed depending on them. Moreover, we can notice that (see Figure 3)
-
the knots in the partitions U and V not associated to a curve of the network are barriers identifying subdomains in Ω . In each subdomain, we have a minimal configuration;
-
the number of subdomains in Ω is equal to ( k + 1 ) ( + 1 ) ;
-
the control point in the left-down corner of each subdomain is identified as a free parameter;
-
the control point C 1 , 1 is always a free parameter.
The following lemma provides the necessary relations for the computations of the constrained control points.
Lemma 1.
If curves (1) are isoparametric curves of the surface (4), then the constrained control points have the following expression:
C i , j = Γ i , j + ( 1 ) i + j + r ¯ γ + s ¯ δ k j k s ¯ δ + 1 h i h r ¯ γ + 1 C 1 + r ¯ γ , 1 + s ¯ δ
for i = 1 , , m + 1 , j = 1 , , n + 1 (excluding the free parameters in (17)), with
Γ i , j = r = 1 i r ¯ γ 1 ( 1 ) r + 1 ( h i r + h i r + 1 ) h i h i r h i r + 1 P j ( i r α ) + ( 1 ) i + r ¯ γ h i h r ¯ γ + 1 s = 1 j s ¯ δ 1 ( 1 ) s ( k j s + k j s + 1 ) k j k j s k j s + 1 Q 1 + r ¯ γ ( j s β )
and = 1 0 · = 0 , where (see Figure 3)
-
r ¯ γ is the index of the last barrier before the control point C i , j in the direction U, i.e., r ¯ γ < i < r ¯ γ + 1 ;
-
s ¯ δ is the index of the last barrier before the control point C i , j in the direction V, i.e., s ¯ δ < j < s ¯ δ + 1 ;
-
α is the number of barriers in the direction U before the control point C i , j ;
-
β is the number of barriers in the direction V before the control point C i , j .
Proof. 
Let us consider a domain, as in Figure 3, and the first subdomain, where minimal configuration is present. From (8), we have τ s + 1 C i , s + τ s + 1 C i , s + 1 = Q i ( s ) , s = 1 , , s ¯ 1 , i = 1 , , r ¯ 1 . For i = 1 , applying it repeatedly, we can write (see Figure 4)
C 1 , j = s = 1 j 1 ( 1 ) s + 1 Q 1 ( j s ) τ j s + 1 k = 1 s 1 τ j k + 1 τ j k + 1 + ( 1 ) j + 1 C 1 , 1 s = 1 j 1 τ j s + 1 τ j s + 1
where j = 1 , , s ¯ 1 and l = 1 0 · = 1 .
Then, from (7) it holds σ r + 1 C r , j + σ r + 1 C r + 1 , j = P j ( r ) for r = 1 , , r ¯ 1 , j = 1 , , s ¯ 1 and similarly, for a general j such that j s ¯ 1 we have
C i , j = r = 1 i 1 ( 1 ) r + 1 P j ( i r ) σ i r + 1 k = 1 r 1 σ i k + 1 σ i k + 1 + ( 1 ) i + 1 C 1 , j r = 1 i 1 σ i r + 1 σ i r + 1
with i = 1 , , r ¯ 1 . Then, substituting (20) in (21) we have:
C i , j = Γ i , j + ( 1 ) i + j C 1 , 1 s = 1 j 1 τ j s + 1 τ j s + 1 r = 1 i 1 σ i r + 1 σ i r + 1 , i = 1 , , r ¯ 1 , j = 1 , , s ¯ 1 ,
with
Γ i , j = r = 1 i 1 ( 1 ) r + 1 P j ( i r ) σ i r + 1 k = 1 r 1 σ i k + 1 σ i k + 1 + ( 1 ) i + 1 r = 1 i 1 σ i r + 1 σ i r + 1 s = 1 j 1 ( 1 ) s + 1 Q 1 ( j s ) τ j s + 1 k = 1 s 1 τ j k + 1 τ j k + 1 .
Now, we follow the same scheme in the second subdomain. So, from (8) τ s + 1 C i , s + τ s + 1 C i , s + 1 = Q i ( s ) , s = 1 , , s ¯ 1 , i = r ¯ 1 + 1 , , r ¯ 2 , we are able to obtain
C i , j = Γ i , j + ( 1 ) i + j + r ¯ γ C r ¯ γ + 1 , 1 s = 1 j 1 τ j s + 1 τ j s + 1 r = 1 i r ¯ γ 1 σ i r + 1 σ i r + 1
for i = r ¯ γ + 1 , , r ¯ γ + 1 e j = 1 , , s ¯ 1 with
Γ i , j = r = 1 i r ¯ γ 1 ( 1 ) r + 1 P j ( i r 1 ) σ i r + 1 k = 1 r 1 σ i k + 1 σ i k + 1 + ( 1 ) i + r ¯ γ + 1 r = 1 i r ¯ γ 1 σ i r + 1 σ i r + 1 s = 1 j 1 ( 1 ) s + 1 Q r ¯ γ + 1 ( j s ) τ j s + 1 k = 1 s 1 τ j k + 1 τ j k + 1 .
In the third subdomain, from (8), we obtain
C i , j = Γ i , j + ( 1 ) i + j + s ¯ δ C 1 , s ¯ δ + 1 s = 1 j s ¯ δ 1 τ j s + 1 τ j s + 1 r = 1 i 1 σ i r + 1 σ i r + 1
for i = 1 , , r ¯ 1 , j = s ¯ δ + 1 , , s ¯ δ + 1 , with
Γ i , j = r = 1 i 1 ( 1 ) r + 1 P j ( i r ) σ i r + 1 k = 1 r 1 σ i k + 1 σ i k + 1 + ( 1 ) i + s ¯ δ + 1 r = 1 i 1 σ i r + 1 σ i r + 1 s = 1 j s ¯ δ 1 ( 1 ) s + 1 Q 1 ( j s 1 ) τ j s + 1 k = 1 s 1 τ j k + 1 τ j k + 1 .
Lastly, in the fourth subdomain, from (8), we are able to obtain
C i , j = Γ i , j + ( 1 ) i + j + r ¯ 1 + s ¯ 1 C r ¯ 1 + 1 , s ¯ 1 + 1 s = 1 j s ¯ 1 1 τ j s + 1 τ j s + 1 r = 1 i r ¯ 1 1 σ i r + 1 σ i r + 1
for i = r ¯ 1 + 1 , , r ¯ 2 , j = s ¯ 1 + 1 , , s ¯ 2 , with
Γ i , j = r = 1 i r ¯ 1 1 ( 1 ) r + 1 P j ( i r 1 ) σ i r + 1 k = 1 r 1 σ i k + 1 σ i k + 1 + ( 1 ) i + r ¯ 1 + 1 r = 1 i r ¯ 1 1 σ i r + 1 σ i r + 1 s = 1 j s ¯ 1 1 ( 1 ) s + 1 Q 1 + r ¯ 1 ( j s 1 ) τ j s + 1 k = 1 s 1 τ j k + 1 τ j k + 1 .
Generalizing, taking into account the definitions (3), and since
σ σ = h h 1 , τ τ = k k 1 ,
we obtain (18).  □
For the special case of minimal configuration, the expression is simpler and we get lemma 3.1 of [15].
Thus, the surface S can be written as follows.
Theorem 3.
Let the B-spline curve network (1) satisfy the compatibility conditions C1. and C2. Then the surface (4) with isoparametric curves (1) is:
S ( u , v ) = S b ( u , v ) + S Γ ( u , v ) + S f p ( u , v ) ,
where
S b ( u , v ) = j = 0 n + 2 P j ( 0 ) B 0 , j ( u , v ) + P j ( m ) B m + 2 , j ( u , v ) + i = 1 m + 1 Q i ( 0 ) B i , 0 ( u , v ) + Q i ( n ) B i , n + 2 ( u , v ) , S Γ ( u , v ) = i = 1 m + 1 j = 1 n + 1 excluding the free parameters in ( 17 ) Γ i , j B i , j ( u , v ) , S f p ( u , v ) = in each subdomain of type [ u r ¯ γ , u r ¯ γ + 1 ] × [ v s ¯ δ , v s ¯ δ + 1 ] C 1 + r ¯ γ , 1 + s ¯ δ B 1 + r ¯ γ , 1 + s ¯ δ ( u , v ) + i , j involved in the considered subdomain ( 1 ) i + j + r ¯ γ + s ¯ δ k j k s ¯ δ + 1 h i h r ¯ γ + 1 B i , j ( u , v )
with Γ i , j defined in (19).
Proof. 
The expression (22) follows directly from Theorem 1 and Lemma 1. □
Concerning the behaviour of the C i , j generation process, given in (18), we can state the following theorem related to the round-off error growth, showing that such a growth is linear.
Theorem 4.
If the sequence of partitions { U × V }   o f   Ω is A-quasi uniform, i.e., there exists a constant A 1 such that 0 < max i , j { h i , k j } / min i , j { h i , k j } A , then the round-off error growth is linear.
We omit the proof of the above theorem because it can be obtained by following the same reasoning given in Theorem 3.3 of [15]. If the sequence of partitions { U × V } is uniform, i.e., A = 1 , then Theorem 4 holds.
Remark 2.
Although the surface S can be written as in Theorem 3, both for the case S 2 , 2 1 , 1 ( R m n ) and for the case S 2 1 ( T m n ) , we can note that in the case S 2 1 ( T m n ) the number of free parameters is one less than in the case S 2 , 2 1 , 1 ( R m n ) , since in S 2 1 ( T m n ) the B i , j ’s are linearly dependent, the dependence relationship being [22,25]:
i = 1 m + 1 j = 1 n + 1 ( 1 ) i + j h i k j B i , j ( u , v ) = 0 .
It is possible to write one of the free parameters in (22) depending on the others. In the special case of minimal configuration, we recall that (see [15]) this fact leads to the uniqueness of the interpolating surface S . Moreover, if in (22) we consider all equal free parameters, we can use the dependence relationship (23) to obtain a unique surface interpolating the curve network also in the case of non minimal configuration.

4. Numerical Results

In this section we present several applications. We propose comparisons between surfaces interpolating the curve network both in S 2 , 2 1 , 1 ( R m n ) and S 2 1 ( T m n ) . Moreover, we highlight, with an example, the behaviour of interpolating surfaces in S 2 1 ( T m n ) as pointed out in Remark 2.

4.1. Test 1

In this first example, we show a curve network to be interpolated (Figure 5) and compare tensor product and triangulated surfaces (Figure 6). Here, we consider two subdomains of the parametric domain Ω , being the barrier at knot v 2 . As remarked in Section 1, the higher degree of tensor product appears in the higher oscillations.

4.2. Test 2

Here again, we compare tensor product and triangulated surfaces in three different cases (Figure 7, Figure 8 and Figure 9), for given curve networks.

4.3. Test 3

In the following example, we show what was noticed in Remark 2: in the case of all equal free control points, we obtain again the uniqueness of the triangulated surface (Figure 10b and Figure 11b), described in [15] for a minimal configuration, while under the same hypothesis tensor product surfaces change their shape (Figure 10a and Figure 11a).

4.4. Test 4

Regarding the choice of the free parameters, it is possible to choose them such that the surface is “smooth”, i.e., the energy of a thin plate described by the surface is minimal, e.g., see [27]. Since in a generic subdomain [ u r ¯ γ , u r ¯ γ + 1 ] × [ v s ¯ δ , v s ¯ δ + 1 ] there is one free parameter, we can extend the method proposed in [15] (Section 4.2) and we can consider the following approximation
Θ = u r ¯ γ u r ¯ γ + 1 v s ¯ δ v s ¯ δ + 1 [ ( S u u ( u , v ) ) 2 + 2 ( S u v ( u , v ) ) 2 + ( S v v ( u , v ) ) 2 ] d u d v ,
of the thin plate energy, with
S u u ( u , v ) = 2 S ( u , v ) u 2 , S u v ( u , v ) = 2 S ( u , v ) u v , S v v ( u , v ) = 2 S ( u , v ) v 2 .
Then the free parameter C 1 + r ¯ γ , 1 + s ¯ δ can be chosen by minimizing Θ with respect to it. By setting d Θ d C 1 + r ¯ γ , 1 + s ¯ δ = 0 , we obtain
C 1 + r ¯ γ , 1 + s ¯ δ = h 1 + r ¯ γ k 1 + s ¯ δ u r ¯ γ u r ¯ γ + 1 v s ¯ δ v s ¯ δ + 1 [ ( S b u u + S Γ u u ) S f p u u + 2 ( S b u v + S Γ u v ) S f p u v + ( S b v v + S Γ v v ) S f p v v ] u r ¯ γ u r ¯ γ + 1 v s ¯ δ v s ¯ δ + 1 [ ( S f p u u ) 2 + 2 ( S f p u v ) 2 + ( S f p v v ) 2 ] .
Such a point is the one minimizing Θ . The integrals in (24) can be exactly evaluated by a composite tensor-product Gauss–Legendre quadrature formula with 3 × 3 nodes, in the case S 2 , 2 1 , 1 ( R m n ) , and a composite Gaussian cubature on triangular domains (see [28]), implemented by the Matlab function triquad [29], in the case S 2 1 ( T m n ) .
An example of the above choice of free parameters is proposed in Figure 12, where, on the left, it is immediately clear its effect on the tensor product surface with respect to the corresponding one in Figure 13.
We note that, in this example, the surfaces in Figure 12b and Figure 13b are the same, being a case of minimal configuration.

4.5. Test 5

In this example, we compare the methods proposed here with another one that produces a Gordon-type C 1 biquadratic B-spline surface, [10] (Chapter 10).
In such a method, the surface is written as the Boolean sum of two skinned surfaces, interpolating the curves C r ( v ) and D s ( u ) given in (1), respectively, and one tensor product surface interpolating the points I r s , given in (2) (for details of the construction see [10] (Chapter 10)). In order to obtain a standard B-spline representation of the resulting surface, it is necessary to make the three surfaces compatible in the B-spline sense (defined on the same knot vectors) by applying the knot refinement algorithm [10].
Given the curve network of Figure 14a, with m = n = R = S = 2 , U = V = { 0 , 0 , 0 , 1 3 , 2 3 , 1 , 1 , 1 } , we construct the three surfaces interpolating the network: in Figure 14b, the biquadratic Gordon-type B-spline surface; in Figure 15a, the biquadratic tensor product surface; and in Figure 15b, the quadratic triangulated surface. The free control point for the tensor product surface is determined by the minimization process (24) and we use it also for the triangulated one.
The shape of the three surfaces is comparable from the graphical point of view, but we note that the Gordon-type surface is not defined on the rectangular partition defined by the curve network knot vectors, due to the knot refinement.

5. Conclusions

In this paper, we generalize the method proposed in [15] for the definition of a B-spline surface interpolating a B-spline curve network by the introduction of free parameters. The cases of biquadratic tensor product and quadratic triangulated surfaces are studied, compared and confirmed by graphical examples. In order to obtain more flexibility in the shape modeling of such surfaces, the possible introduction of double knots in their definition is an interesting topic that we intend to address in a forthcoming paper.

Author Contributions

Conceptualization, P.L. and S.R.; methodology, P.L. and S.R.; software, P.L. and S.R.; validation, P.L. and S.R.; formal analysis, P.L. and S.R.; investigation, P.L. and S.R.; resources, P.L. and S.R.; data curation, P.L. and S.R.; writing—original draft preparation, P.L. and S.R.; writing—review and editing, P.L. and S.R.; visualization, P.L. and S.R.; supervision, P.L. and S.R.; funding acquisition, P.L. and S.R. All authors have read and agreed to the published version of the manuscript.

Funding

This research has been made possible by the contribution granted by CNR in the framework of the Scientific Cooperation Agreement CNR-CNRST (Morocco), under the bilateral agreement n. SAC.AD002.014.032.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on request to the authors.

Acknowledgments

The authors are members of the INdAM Research group GNCS.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

References

  1. Barnhill, R.E. Blending function interpolation: A survey and some new results. In Numerische Methoden der Approximationstheorie; Collatz, L., Werner, H., Meinardus, G., Eds.; Birkhauser Verlag: Basel, Switzerland, 1976; Volume 3, pp. 43–89. [Google Scholar]
  2. Bos, L.P.; Grabenstetter, J.E.; Salkauskas, K. Pseudo-tensor product interpolation and blending with families of univariate schemes. Comput. Aided Geom. Des. 1996, 13, 429–440. [Google Scholar] [CrossRef]
  3. Delvos, J.; Schempp, W. Boolean Methods in Interpolation and Approximation; Longman Scientific and Technical: Harlow, UK, 1989. [Google Scholar]
  4. Gordon, W.J. Spline blended interpolation through curve networks. J. Math. Mech. 1969, 18, 931–952. [Google Scholar]
  5. Gordon, W.J. Blending-function methods of bivariate and multivariate interpolation. SIAM Numer. Anal. 1971, 8, 158–177. [Google Scholar] [CrossRef]
  6. Gordon, W.J. Sculptured surface definition via blending function methods. In Fundamental developments of Computer Aided Geometric Modeling; Piegl, L., Ed.; Academic Press: London, UK, 1993. [Google Scholar]
  7. Peters, J. Smooth interpolation of a mesh of curves. Constr. Approx. 1991, 7, 221–246. [Google Scholar] [CrossRef]
  8. Conti, C.; Dyn, N. Blending based Chaikin type subdivision schemes for nets of curves. In Mathematical Methods for Curves and Surfaces; Daehlen, M., Morken, K., Schumaker, L.L., Eds.; Nashboro Press: Brentwood, TN, USA, 2005; pp. 51–68. [Google Scholar]
  9. Greshake, S.H.; Bronsart, R. Application of subdivision surfaces in ship hull form modeling. Comput.-Aided Des. 2018, 100, 79–92. [Google Scholar] [CrossRef]
  10. Piegl, L.; Tiller, W. The NURBS Book; Springer: Berlin/Heidelberg, Germany, 1995. [Google Scholar]
  11. Bouhiri, S.; Lamnii, A.; Lamnii, M.; Zidna, A. A C1 composite spline Hermite interpolant on the sphere. Math. Meth. Appl. Sci 2021, 44, 11376–11391. [Google Scholar] [CrossRef]
  12. Wang, R.H.; Li, C.J. A kind of multivariate NURBS surfaces. J. Comput. Appl. Math. 2004, 22, 137–144. [Google Scholar]
  13. Wang, R.H.; Li, C.J. Bivariate cubic spline space and bivariate cubic NURBS surfaces. In Proceedings of the Geometric Modeling and Processing 2004, Beijing, China, 13–15 April 2004; pp. 115–123. [Google Scholar]
  14. Wang, R.H.; Li, C.J. The multivariate quartic NURBS surfaces. J. Comput. Appl. Math. 2004, 163, 155–164. [Google Scholar]
  15. Dagnino, C.; Lamberti, P.; Remogna, S. Curve network interpolation by C1 quadratic B-spline surfaces. Comput. Aided Geom. Des. 2015, 40, 26–39. [Google Scholar] [CrossRef] [Green Version]
  16. Sablonnière, P. On some multivariate quadratic spline quasi-interpolants on bounded domains. In Modern Developments in Multivariate Approximations; Hausmann, W., Ed.; Birkhäuser Verlag: Basel, Switzerland, 2003; Volume 145, pp. 263–278. [Google Scholar]
  17. Sablonnière, P. Quadratic spline quasi-interpolants on bounded domains of R d , d = 1, 2, 3. Rend. Sem. Mat. Univ. Pol. Torino 2003, 61, 229–246. [Google Scholar]
  18. de Boor, C. A Practical Guide to Splines; Revised edition; Springer: Berlin, Germany, 2001. [Google Scholar]
  19. Chui, C.K. Multivariate Splines; CBMS-NSF Regional Conference Series in Applied Mathematics; SIAM: Philadelphia, PA, USA, 1988; Volume 54. [Google Scholar]
  20. Chui, C.K.; Wang, R.H. Concerning C1 B-splines on triangulations of non-uniform rectangular partition. Approx. Theory Appl. 1984, 1, 11–18. [Google Scholar]
  21. Dagnino, C.; Lamberti, P. On the construction of local quadratic spline quasi-interpolants on bounded rectangular domains. J. Comput. Appl. Math. 2008, 221, 367–375. [Google Scholar] [CrossRef] [Green Version]
  22. Wang, R.H. Multivariate Spline Functions and Their Applications; Science Press: Beijing, China; New York, NY, USA; Kluwer Academic Publishers: Dordrecht, The Netherlands; Boston, MA, USA; London, UK, 2001. [Google Scholar]
  23. Dagnino, C.; Lamberti, P.; Remogna, S. BB-Coefficients of Unequally Smooth Quadratic B-Splines on Non Uniform Criss-Cross Triangulations. Quaderni Scientifici del Dipartimento di Matematica, Università di Torino, 2008 n. 24. Available online: http://hdl.handle.net/2318/434 (accessed on 4 February 2022).
  24. Dagnino, C.; Lamberti, P.; Remogna, S. B-spline bases for unequally smooth quadratic spline spaces on non-uniform criss-cross triangulations. Numer. Algorithms 2012, 61, 209–222. [Google Scholar] [CrossRef] [Green Version]
  25. Wang, R.H.; He, T. The spline spaces with boundary conditions on nonuniform type-2 triangulation. Kexue Tongbao 1985, 30, 858–861. [Google Scholar]
  26. Conti, C.; Sestini, A. Choosing nodes in parametric blending function interpolation. Comput. Aided Des. 1996, 28, 135–143. [Google Scholar] [CrossRef]
  27. Hadenfeld, J. Local energy fairing of B-spline surfaces. In Mathematical Methods for Curves and Surfaces: Ulvik, 1994; Daehlen, M., Lyche, T., Schumaker, L.L., Eds.; Vanderbilt Univ. Press: Nashville, TN, USA, 1995; pp. 203–212. [Google Scholar]
  28. Lyness, J.N.; Cools, R. A survey of numerical cubature over triangles. Proc. Symp. Appl. Math. 1994, 48, 127–150. [Google Scholar]
  29. von Winckel, G. Matlab Procedure Triquad. Available online: http://www.mathworks.com/matlabcentral/fileexchange/9230-gaussian-quadrature-for-triangles (accessed on 4 February 2022).
Figure 1. Examples of a parametric domain Ω with pre-images of the curve network and its control points (•). In (a) a rectangular partition R m n is shown, in (b) a criss-cross triangulation T m n .
Figure 1. Examples of a parametric domain Ω with pre-images of the curve network and its control points (•). In (a) a rectangular partition R m n is shown, in (b) a criss-cross triangulation T m n .
Mathematics 10 00543 g001
Figure 2. Octagonal support of the bivariate C 1 quadratic B-spline.
Figure 2. Octagonal support of the bivariate C 1 quadratic B-spline.
Mathematics 10 00543 g002
Figure 3. Example of domain for Lemma 1.
Figure 3. Example of domain for Lemma 1.
Mathematics 10 00543 g003
Figure 4. Example of path reconstruction in the first subdomain to get C i , j starting from C 1 , 1 .
Figure 4. Example of path reconstruction in the first subdomain to get C i , j starting from C 1 , 1 .
Mathematics 10 00543 g004
Figure 5. A curve network with m = R = 3 , n = 4 , S = 3 .
Figure 5. A curve network with m = R = 3 , n = 4 , S = 3 .
Mathematics 10 00543 g005
Figure 6. (a) Tensor product and (b) triangulated surfaces with U = { 0 , 0 , 0 , 1 , 2 , 3 , 4 , 4 , 4 } , V = { 0 , 0 , 0 , 1 , 2 , 3 , 4 , 5 , 5 , 5 } and the two free control points C 1 , 1 = ( 1 , 1 , 1 ) and C 1 , 3 = ( 3 , 6 , 7 ) , interpolating the curve network in Figure 5.
Figure 6. (a) Tensor product and (b) triangulated surfaces with U = { 0 , 0 , 0 , 1 , 2 , 3 , 4 , 4 , 4 } , V = { 0 , 0 , 0 , 1 , 2 , 3 , 4 , 5 , 5 , 5 } and the two free control points C 1 , 1 = ( 1 , 1 , 1 ) and C 1 , 3 = ( 3 , 6 , 7 ) , interpolating the curve network in Figure 5.
Mathematics 10 00543 g006
Figure 7. (a) Tensor product and (b) triangulated surfaces with R = 3 , S = 6 , m = 5 , n = 11 , U = { 0 , 0 , 0 , 1 ÷ 5 , 6 , 6 , 6 } , V = { 0 , 0 , 0 , 1 ÷ 11 , 12 , 12 , 12 } , being the barriers at knots u 2 , u 4 , v 2 , v 4 , v 6 , v 8 , v 10 . The network control points are taken from Test 1 of [26].
Figure 7. (a) Tensor product and (b) triangulated surfaces with R = 3 , S = 6 , m = 5 , n = 11 , U = { 0 , 0 , 0 , 1 ÷ 5 , 6 , 6 , 6 } , V = { 0 , 0 , 0 , 1 ÷ 11 , 12 , 12 , 12 } , being the barriers at knots u 2 , u 4 , v 2 , v 4 , v 6 , v 8 , v 10 . The network control points are taken from Test 1 of [26].
Mathematics 10 00543 g007
Figure 8. (a) Tensor product and (b) triangulated surfaces with R = m = 8 , S = 4 , n = 5 , U = { 0 , 0 , 0 , 1 ÷ 8 , 9 , 9 , 9 } , V = { 0 , 0 , 0 , 1 ÷ 5 , 6 , 6 , 6 } , being the barrier at knot v 3 . The network control points are taken from Test 3 of [26].
Figure 8. (a) Tensor product and (b) triangulated surfaces with R = m = 8 , S = 4 , n = 5 , U = { 0 , 0 , 0 , 1 ÷ 8 , 9 , 9 , 9 } , V = { 0 , 0 , 0 , 1 ÷ 5 , 6 , 6 , 6 } , being the barrier at knot v 3 . The network control points are taken from Test 3 of [26].
Mathematics 10 00543 g008
Figure 9. (a) Tensor product and (b) triangulated surfaces with R = m = 3 , S = 3 , n = 4 , U = { 0 , 0 , 0 , 1 , 2 , 3 , 4 , 4 , 4 } , V = { 0 , 0 , 0 , 1 , 2 , 3 , 4 , 5 , 5 , 5 } , being the barrier at knot v 3 .
Figure 9. (a) Tensor product and (b) triangulated surfaces with R = m = 3 , S = 3 , n = 4 , U = { 0 , 0 , 0 , 1 , 2 , 3 , 4 , 4 , 4 } , V = { 0 , 0 , 0 , 1 , 2 , 3 , 4 , 5 , 5 , 5 } , being the barrier at knot v 3 .
Mathematics 10 00543 g009
Figure 10. (a) Tensor product and (b) triangulated surfaces with U = V = { 0 , 0 , 0 , 1 3 , 2 3 , 1 , 1 , 1 } and the two free control points C 1 , 1 = C 1 , 3 = ( 1 , 0 , 3 ) , being the barrier at knots v 2 .
Figure 10. (a) Tensor product and (b) triangulated surfaces with U = V = { 0 , 0 , 0 , 1 3 , 2 3 , 1 , 1 , 1 } and the two free control points C 1 , 1 = C 1 , 3 = ( 1 , 0 , 3 ) , being the barrier at knots v 2 .
Mathematics 10 00543 g010
Figure 11. (a) Tensor product and (b) triangulated surfaces with U = V = { 0 , 0 , 0 , 1 3 , 2 3 , 1 , 1 , 1 } and the two free control points C 1 , 1 = C 1 , 3 = ( 5 , 5 , 5 ) , being the barrier at knots v 2 .
Figure 11. (a) Tensor product and (b) triangulated surfaces with U = V = { 0 , 0 , 0 , 1 3 , 2 3 , 1 , 1 , 1 } and the two free control points C 1 , 1 = C 1 , 3 = ( 5 , 5 , 5 ) , being the barrier at knots v 2 .
Mathematics 10 00543 g011
Figure 12. (a) Tensor product and (b) triangulated surfaces with U = { 0 , 0 , 0 , 1 5 , 2 5 , 3 5 , 4 5 , 1 , 1 , 1 } , V = { 0 , 0 , 0 , 1 6 , 1 3 , 1 2 , 2 3 , 5 6 , 1 , 1 , 1 } and free control point C 1 , 1 ( 0.1 , 8.33 · 10 2 , 2.43 · 10 3 ) , obtained by the minimization process (24).
Figure 12. (a) Tensor product and (b) triangulated surfaces with U = { 0 , 0 , 0 , 1 5 , 2 5 , 3 5 , 4 5 , 1 , 1 , 1 } , V = { 0 , 0 , 0 , 1 6 , 1 3 , 1 2 , 2 3 , 5 6 , 1 , 1 , 1 } and free control point C 1 , 1 ( 0.1 , 8.33 · 10 2 , 2.43 · 10 3 ) , obtained by the minimization process (24).
Mathematics 10 00543 g012
Figure 13. (a) Tensor product and (b) triangulated surfaces with U = { 0 , 0 , 0 , 1 5 , 2 5 , 3 5 , 4 5 , 1 , 1 , 1 } , V = { 0 , 0 , 0 , 1 6 , 1 3 , 1 2 , 2 3 , 5 6 , 1 , 1 , 1 } and free control point C 1 , 1 = ( 1 , 1 , 1 ) .
Figure 13. (a) Tensor product and (b) triangulated surfaces with U = { 0 , 0 , 0 , 1 5 , 2 5 , 3 5 , 4 5 , 1 , 1 , 1 } , V = { 0 , 0 , 0 , 1 6 , 1 3 , 1 2 , 2 3 , 5 6 , 1 , 1 , 1 } and free control point C 1 , 1 = ( 1 , 1 , 1 ) .
Mathematics 10 00543 g013
Figure 14. (a) The curve network with m = n = R = S = 2 and (b) the Gordon-type surface interpolating it.
Figure 14. (a) The curve network with m = n = R = S = 2 and (b) the Gordon-type surface interpolating it.
Mathematics 10 00543 g014
Figure 15. (a) Tensor product and (b) triangulated surfaces interpolating the curve network in Figure 14a.
Figure 15. (a) Tensor product and (b) triangulated surfaces interpolating the curve network in Figure 14a.
Mathematics 10 00543 g015
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Lamberti, P.; Remogna, S. Quadratic B-Spline Surfaces with Free Parameters for the Interpolation of Curve Networks. Mathematics 2022, 10, 543. https://doi.org/10.3390/math10040543

AMA Style

Lamberti P, Remogna S. Quadratic B-Spline Surfaces with Free Parameters for the Interpolation of Curve Networks. Mathematics. 2022; 10(4):543. https://doi.org/10.3390/math10040543

Chicago/Turabian Style

Lamberti, Paola, and Sara Remogna. 2022. "Quadratic B-Spline Surfaces with Free Parameters for the Interpolation of Curve Networks" Mathematics 10, no. 4: 543. https://doi.org/10.3390/math10040543

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop