Next Article in Journal
Growth of a Long Bone Section Based on Inorganic Hydroxyapatite Crystals as Cellular Automata
Previous Article in Journal
Assessing the Quality of Virtual Student Internships in Brazilian Organizations: Potential and Use of Fuzzy TOPSIS Class
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Locally RSD-Generated Parametrized G1-Spline Surfaces Interpolating First-Order Data over 3D Triangular Meshes

by
László L. Stachó
Bolyai Institute, University of Szeged, Aradi Vértanúk tere 1, 6725 Szeged, Hungary
AppliedMath 2025, 5(3), 83; https://doi.org/10.3390/appliedmath5030083
Submission received: 29 May 2025 / Revised: 22 June 2025 / Accepted: 27 June 2025 / Published: 2 July 2025

Abstract

Given a triangular mesh in R 3 with a family of points associated with its vertices along with vectors associated with its edges, we propose a novel technique for the construction of locally generated fitting parametrized G1-spline interpolation surfaces. The method consists of a G1 correction over the mesh edges of the mesh triangles, produced using reduced side derivatives (RSDs) introduced earlier by the author in terms of the barycentric weight functions. In the case of polynomial RSD shape functions, we establish polynomial edge corrections via an algorithm with an independent interest in determining the optimal GCD cofactors with the lowest degree for arbitrary families of polynomials.

1. Introduction

By a triangular mesh in 3D, we mean a finite family T = { T 1 , , T N } of non-degenerate triangles T i R 3 , such that the intersections T i T j ( i j ) are either empty, mesh points, or common edges, and no three different mesh triangles meet in a common edge. A T -parametrized G 1 -spline surface is a continuous mapping F : i = 1 N T i R 3 , whose subfunctions (the restrictions F i = F | T i ) are C -smooth with G 1 -coupling along common edges (that is, given i j and p T i T j , the tangent vectors F i ( p ( q p ) = d / d t | t = 0 F i ( p + ( t q p ) ( q T i ) , together with F j ( p ( q p ) ( q T j ) , do not span R 3 ). It is well-known from classical differential geometry [1] that, in the above setting, if F is a homeomorphism with G 1 -coupling and dim F i ( p ) ( T i p ) = 2   ( p T i ) in every triangle T i , then the figure range ( F ) is a C 1 -submanifold of R 3 .
Due to the need to elaborate on the data of scanned surfaces, the construction of parametrized G 1 -spline surfaces in 3D has become a popular topic. It seems that one branch consists of papers aiming to establish reasonable meshes with plane figures fit to a set of 3D points, while another branch concentrates on modifying algorithms with classical 1D and 2D splines in a 3D setting, exploiting the use of large computing capacity, sometimes with compromises; e.g., by adding new artificial mesh points or modifying the underlying data (for typical examples, see [2,3,4,5,6]).
In this work, we apply our “minimalist” local C 1 -spline algorithm [7], extended in [8], to further shape functions, called the RSD method (method of reduced side derivatives, to be introduced in Section 5). Writing p 1 , , p R for the family of mesh vertices, our purpose is to investigate the following problem with a primary interest in polynomial solutions.
G1-Interpolation Problem. Given two families f i i = 1 R and g i , j i , j = 1 R of vectors in R 3 , find a parametrized G 1 -spline surface F : n = 1 N T n R 3 , such that
F ( p i ) = f i , F ( p i ) ( p j p i ) = g i , j i , j [ 1 , R ] , [ p i , p j ] is the edge in some T n .
We proceed using the following strategy. By introducing extended barycentric weights  λ 1 , , λ R : n = 1 N T n [ 0 , 1 ] and using any RSD family of shape functions, we obtain a G0-spline map in the form f = i = 1 R Ψ 0 ( λ i ) f i + i , j = 1 R Ψ 1 ( λ i ) λ j g i , j + ( i , j , k ) S 3 χ 0 ( λ i , λ j , λ k ) p i + χ 1 ( λ i , λ j , λ k ) g i , j , which automatically satisfies the initial conditions (1). To correct it to a G1-spline, we search for F in the form F = f + ( i , j ) I 1 2 λ i 2 λ j 2 λ k Z i , j ( λ i ) + Z i , j ( 1 λ j ) , where the index set I consists of all triples ( i , j , k ) , such that i < j , [ p i , p j ] is a double mesh edge (i.e., belonging to two different mesh triangles) and Conv { p i , p j , p k } is a mesh triangle. The splines F , f coincide along the mesh edges. The familiar determinant condition of G1-coupling along the common edge [ p i , p j ] of two adjacent subfunctions F | T n and F | T n ¯ with T n = Conv { p i , p j , p k } and T n ¯ = Conv { p i , p j , p k ¯ } , respectively, can be written in the following form:
det v ( t ) t 2 ( 1 t ) 2 z ( t ) , v ¯ ( t ) v ( t ) , u ( t ) 0 ,
where the terms u ( t ) , v ( t ) , and v ¯ ( t ) are linear combinations of the vectors f j , f i , g , m   ( , m = i , j , k , k ¯ ) , with coefficients belonging to Ψ r ( t ) , Ψ r ( t ) , Ψ r ( 1 t ) , Ψ r ( 1 t ) . We complete this work with a study of the case with polynomial shape functions Ψ 0 ( t ) , Ψ 1 ( t ) , such that t 3 | Ψ 0 ( t ) , Ψ 1 ( t ) , and Ψ 0 ( t ) + Ψ 0 ( 1 t ) 1 play a similar role while assuming that the families G = { g , m : [ p , p m ] is a mesh edge} ( = 1 , , R ) are coplanar, as in the case when g , m is a tangent vector of a smooth surface at the point p . Then, we achieve a complete solution to the problem, constructing a solution of (2) by means of a family q 1 ( t ) , q 2 ( t ) , q 3 ( t ) of cofactors for the GCD (greatest common divisor) ρ ( t ) of the components w 1 ( t ) , w 2 ( t ) , and w 3 ( t ) of w ( t ) = [ v ¯ ( t ) v ( t ) ] × u ( t ) .
In general, given a family p 1 ( t ) , , p k ( t ) F [ t ] of polynomials over an arbitrary field F , it is of independent interest to find cofactors (that is, polynomials q 1 , , q K F [ t ] with k = 1 K q k ( t ) a k ( t ) = GCD ( a 1 , , a K ) ) with the lowest degrees possible. One can choose q 1 , , q K above, satisfying max k = 1 K deg ( q k ) max k = 1 K deg ( p k ) . As we could not identify a related reference (cf. Remark 7), we provide a proof for this fact and describe the related algorithmic construction.

2. Preliminaries

To establish standard notation, let R n = { x : x = [ x 1 , , x 3 ] , x 1 , , x n R } denote the vector space of real n-tuples, equipped with the scalar product x | y = k x k y k , giving rise to the norm x = x | x 1 / 2 and the Euclidean distance d . ( x , y ) = x y . We use the notation F ( x ) u = d d t | t = 0 F ( x + t u ) F ( x ) for the Fréchet derivative of a function, defined on some subset D R n , along the vector u R n , whenever x + [ ε , ε ] u D for some ε > 0 . It is well-known that the mapping is linear whenever F is continuously differentiable.
Considering three points, p 1 , p 2 , p 3 R n , we refer to their convex hull T = Conv { p 1 , p 2 , p 3 } = k t k p k : [ t 1 , t 2 , t 3 ] 3 defined in terms of the unit 3-simplex 3 = [ t 1 , t 2 , t 3 ] : k t k = 1 , t k 0 , as the triangle with vertices p i . The tangent space { k p k : k t k = 0 } and the supporting affine manifold (line or 2-plane) { k t k p k : k t k = 1 } of T are denoted by Tan ( T ) and Aff ( T ) , respectively. The triangle T is non-degenerate if dim ( Aff ( T ) ) = 2 , that is, when the vectors p i p j ( i , j = 1 , 2 , 3 ) are non-parallel. Given a non-degenerate triangle, the normalized barycentric weights    [9] of its vertices are the functions λ p i T : Aff ( T ) R unambiguously defined by the relations
k λ p x T ( x ) p k = x , k λ p x T ( x ) = 1 , and x Aff ( T ) .
The weights λ p k T are affine functions (i.e., satisfying the identity λ p k T t x + ( 1 t ) y = t λ p k T ( x ) + ( 1 t ) λ p k T ( y ) ) with Fréchet derivatives being independent of the location, which we denote by G p k T u ; namely, G p k T u = λ p k T ( x ) u = λ p k T ( x + u )   u Tan ( T ) .
In this sequel, we mainly restrict our considerations to settings in R 3 . We write x × y = x 2 y 3 y 2 x 3 , x 3 y 1 y 3 x 1 , x 1 y 2 y 1 x 2 for the vectorial product in R 3 . In terms of the vectorial and scalar product in R 3 , the determinant formed by the components of three vectors x , y , z R 3 can be expressed as det x , y , z = x | y × z . By a triangular mesh, we mean a family of non-degenerate triangles with a pairwise disjoint interior, whose pairs are disjoint or meet in a common vertex or edge. An edge belonging to two different mesh triangles is said to be a double edge, and the remaining edges are the single edges. A triangular mesh is regular if no three different members admit a common vertex, and it is closed if it contains only double edges.

3. Mesh Structure with Data of First Order

Henceforth, let T = T 1 , , T N be an arbitrarily fixed connected regular triangular mesh in R 3 with vertices and edges ordered in the arrays P = p 1 , , p R R 3 and E = E 1 , , E M , respectively, where
T n = Conv { p i * ( n , 1 ) , p i * ( n , 2 ) , p i * ( n , 3 ) } , i * ( n , 1 ) < i * ( n , 2 ) < i * ( n , 3 ) ( n = 1 , , N ) ,
E m = Conv { p j * ( m , 1 ) , p j * ( m , 2 ) } , j * ( m , 1 ) < j * ( m , 2 ) ( m = 1 , , M ) ,
with suitable index functions i * : [ 1 , N ] × [ 1 , 3 ] [ 1 , R ] or j * : [ 1 , N ] × [ 1 , M ] . Three further index functions n * , k * : [ 1 , M ] × [ 1 , 2 ] [ 1 , R ] and m * : [ 1 , N ] × [ 1 , 3 ] [ 1 , M ] are used to describe the adjacency of edges:
n * ( m , 1 ) = min { n : E m T n } , n * ( m , 2 ) = max { n : E m T n } ,
k * ( m , ) = [ k : Span { p k } E m = T n * ( m , ) ( = 1 , 2 ) ,
m * ( n , ) = [ m : E m is the opposite edge of vertex p i * ( n , ) ] in T n ( = 1 , 2 , 3 ) .
Notice that E m is a single edge if and only if n * ( m , 1 ) = n * ( m , 2 ) . In this sequel, we write
T = n = 1 N T n , E = m = 1 M E m , P = { p 1 , , p R } , F = { f 1 , , f R } , p i , j = p j p i ,
u m = = 1 3 p n * ( m , 1 ) 3 2 = 1 2 p n * ( m , ) , u ¯ m = = 1 3 p n * ( m , ) 3 2 = 1 2 p n * ( m , ) ,
for the polyhedron formed by the mesh triangles, the skeleton of edges, and the set of vertices and the matrix of the edge vectors and the weight line vectors, respectively.
Our later spline surface constructions consist of families of curved images of the mesh triangles connecting point triples { f 1 , f 2 , f 3 } F whenever Conv { p 1 , p 2 , p 3 } T . To prescribe tangent vectors for them at the vertices, we fix an arbitrary matrix
G = g i , j : i , j = 1 , , R , g i , j R 3
with vector entries satisfying the geometric constraints. With the standard notations for the line segment    [ p i , p j ] = Conv { p i , p j } and the triangle G i j , k = Conv { 0 , g i , j , g j , k } ,
g i , j = 0 if i = j or [ p i , p j ] E ,
G i j , k is non-degenerate if Conv { p i , p j , p k } T ,
G i j , k G i j , k ¯ = [ 0 , g i , j ] whenever E m = [ p i , p j ] is a double edge .
Remark 1. 
These restrictions are natural in the sense that, for each mesh vertex p i , (10) and (11) imply the existence of a plane S i passing through the point f i , such that g i , j Tan ( S i )   ( i , j = 1 , , R ) . The plane S i plays the role of a guessed tangent plane of the surface interpolating the points in F , according to our construction. Notice that the condition dim g i , j : j [ 1 , R ] 2 (that is, the existence of a plane S i containing all the vectors g i , j , j [ 1 , R ] ) is necessary for the existence of a parametrized G1-surface passing through the range point f i with tangent vectors g i , j . Condition (12) excluding “too twisted” surfaces is a crucial algebraic ingredient in the construction of polynomial solutions (for an example of the strange consequences of its absence, see [10] (RSD1a.pdf).
Remark 2. 
The popular task of constructing surfaces passing through the mesh vertices corresponds to the case f i = p i ( i [ 1 , R ] ) . Often, only scanned data for the mesh points P with a triangularization (the family T ) are available, and the tangent vectors g i , j need to be guessed. If we are given the tangent plane S i (e.g., the scanner provides a normal vector n i to the scanned surface), there is a natural choice; namely, the orthogonal projection of the edge vector p i , j = p j p i onto S i . Without further information on the tangent planes, if the mesh triangles form a closed surface, which is the boundary of some 3D polyhedron, a convenient guess for normal vectors is n i = p i , j ν ( i ) × p i , j 1 + k = 1 ν ( i ) p i , j k × p i , j k + 1 , where p j 1 , , p j ν ( i ) form a cycle of the neighboring vertices of p i , such that all the segments between consecutive elements are mesh edges (for a MAPLE 17 implementation, see [10]).
Definition 1. 
Given any mesh vertex p i P , define its extended weight λ k : T [ 0 , 1 ] as the union of the functions λ p k T n on the mesh triangles containing the point p k as a vertex, and let it vanish on the remaining mesh triangles; that is, in terms of restrictions,
λ k | T n = λ p k T n if p k T n ; otherwise , λ k | T n = 0 .
Notice that the functions λ i are well-defined and continuous. This is clear outside the double edges, since they consist of affine functions restricted to pairwise disjoint sets. Given any double edge E m = T n T n ¯ = [ p i , p j ] , we have the coincidence λ p k T n | E m = λ p k T n | E m . Indeed, in terms of the Kronecker- δ , at the end points p i , p j , we have λ p k T n ( p ) = δ k , = λ p k T n ¯ ( p )   = i , j . As the graph of an affine function defined on a triangle in R 3 is a triangle in R 4 , the graphs of the subfunctions λ p k T n , λ p k T n ¯ of λ k form two adjacent triangles in R 4 meeting in the segment with end points [ p i , δ k , i ] or [ p j , δ k , j ] , and the continuity of λ k is immediate.
Remark 3. 
(i) By definition, C 1 ( T n , R 3 ) is the family of all continuous functions F : T n R 3 that are continuously differentiable on the interior T n o = i = 1 R { x T n : λ i ( x ) > 0 } of T n , whose Fréchet derivatives (as functions T n o L Tan ( T n ) , R 3 ) extend continuously to T n . It is a clear consequence of Whitney’s embedding theorem [11] that any function F C 1 ( T n , R 3 ) admits a continuously differentiable extension to Aff ( T n ) .
(ii) Recall that a parametrized G 1 -spline surface in 3D over the mesh T is a continuous function F : T R 3 with subfunctions F n = F | T n C 1 ( T n ) , such that any two submaps F n , F n ¯   ( n = j * ( m , 1 ) , n ¯ = j * ( m , 2 ) ) along a double edge E m meet with tangent spaces not spanning the whole R 3 :   
dim Span F n ( x ) u : u Tan ( T n ) F n ¯ ( u : u Tan ( T n ¯ ) 2 x E m .
Lemma 1. 
In terms of the edge vectors and the weight line vectors, the G 1 -coupling relation (14) can be expressed in the analytic form
det F n ( x ) u m , F n ¯ ( x ) u ¯ m , F n ( x ) p i , j = 0 x E m = [ p i , p j ] = T n T , n n ¯ .
Proof. 
This is an immediate consequence of the fact that Tan ( T n ) = Span u m , p i , j and Tan ( T n ¯ ) = Span u ¯ m , p i , j if E m is a double edge with n = n * ( m , 1 ) , n ¯ = n * ( m , 2 ) , x E m and i = j * ( m , 1 ) , j = j * ( m , 2 ) , and x E m = [ p i , p j ] , respectively.    □

4. Construction Lemma

The next observation describes the pattern of our later constructions.
Lemma 2. 
Let f : T R 3 be a continuous map with subfunctions f n = f | T n C 1 ( R 3 ) . Assume z 1 , , z M C 1 [ 0 , 1 ] 2 , R 3 are functions such that, for m = 1 , , M , we have
t 2 ( 1 t ) 2 det z m ( t , 1 t ) v ¯ m ( t ) v m ( t ) u m ( t ) = det v m ( t ) v ¯ m ( t ) u m ( t ) ( 0 < t < 1 ) ;
v m ( t ) = f n ( x t m ) u m , v ¯ m ( t ) = f n ¯ ( x t m ) u ¯ m , u m ( t ) = f n ( x t m ) p j ( m , 1 ) , j ( m , 2 ) ,
with the indices
n = n * ( m , 1 ) , n ¯ = n * ( m , 2 ) , x t m = t p j * ( m , 1 ) + ( 1 t ) p j * ( m , 2 ) ( 0 t 1 ) ;
k = = 1 3 i ( n , ) = 1 2 j ( m , ) , k ¯ = = 1 3 i ( n ¯ , ) = 1 2 j ( m , ) ,
and u m , u ¯ m are the weight line vectors given in (9). Then, the function
F = f Z , Z = m = 1 M z m λ j ( m , 1 ) , λ j ( m , 2 ) λ j ( m , 1 ) 2 λ j ( m , 2 ) 2 λ k ( m , 1 ) + λ k ( m , 2 )
is a parametrized G 1 -spline surface over the mesh T .
Proof. 
Consider any mesh triangle T n with edges E m 1 = [ p r 2 , p r 3 ] , E m 2 = [ p r 3 , p r 1 ] and E m 3 = [ p r 1 , p r 2 ] , respectively. Observe that the restriction F n = F | T n of F to T n has the form
F n = f n [ z m 1 ( λ r 2 , λ r 3 ) λ r 1 λ r 2 2 λ r 3 2 | T n + + z m 2 ( λ r 3 , λ r 1 ) λ r 2 λ r 3 2 λ r 1 2 | T n + z m 3 ( λ r 1 , λ r 2 ) λ r 3 λ r 1 2 λ r 2 2 | T n ] .
As each weight λ r k vanishes on the edge E m k   ( k = 1 , 2 , 3 ) , all product functions of the form z m ( λ r , λ s ) λ q λ r 2 λ s 2 with m { m 1 , m 2 , m 3 and { q , r , s } = { r 1 , r 2 , r 3 } belong to C 1 ( T n ) and vanish along the edges of T n . As the subfunctions f n , λ r | T n ( r = 1 , , R ) belong to C 1 ( T n ) , by assumption, F n C 1 ( T n , R 3 ) . Thus, F : T R 3 is a continuous function coinciding with f on the mesh edges.
To complete the proof, we have to show the G 1 -coupling of the subfunctions of F along the mesh edges. Suppose (without loss of generality) that E m = E m 3 = [ p r 1 , p r 2 ] is a double edge between the triangles T n = Conv { p r 1 , p r 2 , p r 3 } and T n ¯ = Conv { p r 1 , p r 2 , p r 3 } . According to Lemma 1, the subfunctions F n and F n ¯ are G 1 -coupled if and only if the determinant criterion (15) holds.
Let x = x t = t p r 1 + ( 1 t ) p r 2 be a generic point on E m 3 . As the function λ r 3 vanishes on [ p r 1 , p r 2 ] , we have
F n ( x t ) u m = f n ( x t ) u m z m λ r 1 ( x t ) , λ r 2 ( x t ) [ G r 3 u ] λ r 1 ( x t ) 2 λ r 2 ( x t ) 2 = = f n ( x t ) u m z m ( t , 1 t ) [ G r 3 u m ] t 2 ( 1 t ) 2 = = u m ( t ) z m ( t , 1 t ) [ G r 3 u m ] t 2 ( 1 t ) 2 .
Similarly, F n ¯ ( x t ) u m = u ¯ m ( t ) z m ( t , 1 t ) [ G r 3 u ¯ m ] t 2 ( 1 t ) 2 . Thus, (9) holds if and only if
0 = det v m ( t ) t 2 ( 1 t ) 2 z m ( t , 1 t ) v ¯ m ( t ) t 2 ( 1 t ) 2 z m ( t , 1 t ) u ( t ) = = det v m ( t ) t 2 ( 1 t ) 2 z m ( t , 1 t ) v ¯ m ( t ) v m ( t ) u m ( t ) det t 2 ( 1 t ) 2 z m ( t , 1 t ) v ¯ m ( t ) v m ( t ) u m ( t ) ,
which completes the proof.    □
Remark 4. 
Notice that the statement imposes constraints on the corrector functions z m : [ 0 , 1 ] 2 R 3 only by the determinant condition (16) referring to the segment ( t , 1 t ) : 0 t 1 . We can choose the values z ( t 1 , t 2 ) for 0 t 1 , t 2 , t 1 + t 2 < 1 rather freely, which may heavily influence the behavior of the spline surface F outside the mesh edges.

5. RSD Interpolation

Henceforth, let Π = [ Ψ 0 , Ψ 1 , χ 0 , χ 1 ] be an arbitrarily fixed tuple of functions Ψ 0 , Ψ 1 C 1 [ 0 , 1 ] and χ 0 , χ 1 C 1 [ 0 , 1 ] 3 , respectively, such that
0 = Ψ 0 ( 0 ) = Ψ 0 ( 0 ) = Ψ 1 ( 0 ) = Ψ 1 ( 0 ) = Ψ 0 ( 1 ) , 1 = Ψ 0 ( 1 ) = Ψ 1 ( 1 )
0 = χ k ( 1 , 0 , 0 ) = χ k ( 0 , 1 , 0 ) = χ k ( 0 , 0 , 1 ) ( k = 1 , 2 ) .
For arbitrary dimensional triangular meshes T R d with arbitrary dimensional data F = f n : n = 1 , , N , G = g i , j : i , j = 1 , , R in another space R d ¯ such that g i , i = 0 , we define the associated basic Π-interpolation splines T R d ¯ as the functions
f Π T , F , G = i = 1 N Ψ 0 ( λ i ) f i + Ψ 1 ( λ i ) j = 1 N λ j g i , j + + ( i , j , k ) S 3 χ 0 ( λ i , λ j , λ k ) f i + χ 1 ( λ i , λ j , λ k ) g i , j
with S 3 = permutations of 1 , 2 , 3 . Notice that, under the hypothesis of (21)  and  (22), the map f Π T , F , G interpolates the data in F , G in the sense that
f Π F , T , G ( p 1 ) = f i , f Π F , T , G n ( p i ) p i , j = d d t | t = 0 + f Π F , T , G ( 1 t ) p 1 + t p j = g i , j
whenever [ p i , p j ] is an edge of a mesh triangle T n .
Definition 2. 
We say that Π = [ Ψ 0 , Ψ 1 , χ 0 , χ 1 ] is an RSD tuple if, given any non-degenerate triangle T = Conv { p i , p j , p k } in R 2 (regarded as a mesh consisting of a single element), with one-dimensional data F = { f 1 , f 2 , f 3 } R or G = [ g i , j : i , j = 1 , 2 , 3 } R with g i , i = 0 , along any edge [ p i , p j ] of T , independently of the data f k , g k , i , g k , j , associated with the third vertex, we have
f Π T , F , G t p i + ( 1 t ) p j = = Ψ 0 ( t ) p i + Ψ 0 ( 1 t ) p j + Ψ 1 ( t ) ( 1 t ) g i , j + Ψ 1 ( 1 t ) t g j , i ,
[ f T , F , G ] Π t p i + ( 1 t ) p j u k = = Ψ 1 ( t ) g i , k 1 2 g i , j + Ψ 1 ( 1 t ) g j , k 1 2 g j , i with u k = p k 1 2 [ p i + p j ] .
Remark 5. 
The term RSD is an abbreviation for reduced side derivative, named after the property described in (25). Motivated by the main result of [7], in [8], we introduced the concept of RSD tuples and proved that, given any pair of functions Ψ 0 , Ψ 1 C 1 [ 0 , 1 ] satisfying (21), one can find χ 0 , χ 1 C 1 [ 0 , 1 ] 3 with (22), such that [ Ψ 1 , Ψ 0 , χ 0 , χ 1 ] is an RSD tuple.
In (25), we apply [8] (Definition 3.2) with the weight line vectors u m . In accordance with [7] (Theorem 1) and [8] (Example 3.15ab), for later use, we propose the following two convenient choices:
Π 0 = [ Φ , Θ , 30 t 1 2 t 2 2 t 3 , 12 t 1 2 t 2 2 t 3 ] and Π 1 = [ Φ , Φ , 30 t 1 2 t 2 2 t 3 , 30 t 1 2 t 2 3 t 3 ] , respectively ,
in terms of the shape functions
Φ ( t ) = t 3 ( 10 15 t + 6 t 2 ) and Θ ( t ) = t 3 ( 4 3 t ) .
(a) Π 0 is the unique polynomial RSD tuple Π of minimal degrees with the range shift property f Π T + v , F , G = f Π T , F , G + v ( v R 2 ) . This follows from the classification in [8] of all locally generated constant-preserving C 1 -spline procedures with polynomial shape functions.
(b) Π 1 is a polynomial RSD tuple obtained with the affinity invariant procedure in the sense of [8]. Hence, it has a range shift property along with the coordinate stability f Π 1 T , F , T ( x ) = Identity T , where ( T ) = p j p i : i , j = 1 , 2 , 3 .
Notice that, due to linearity, given any tuple Π with a range shift property (in particular, the tuples Π 0 , Π 1 ), the figure range F Π 1 T , [ p j p i : i , j = 1 , 2 , 3 ] coincides with T . Nevertheless, Π 0 is not coordinate-stable. Heuristically, we can expect to achieve better approximation when using procedures with Π 1 than with Π 0 if the side derivatives g i , j are close to g j g i .
Proposition 1. 
Even in the general setting where T is a triangular mesh in R d , and F , G R d ¯ , if Π is an RSD tuple, then the the subfunctions f Π T , F , G | T n of the related interpolation function (23) also have the properties (24) and (25) with the substitutions i = i * ( n , 1 ) , j = i * ( n , 2 ) , and k = i * ( n , 3 ) .
Proof. 
This statement is an immediate consequence of the observation that, given any mesh triangle T n , its supporting plane Aff ( T n ) is affinely equivalent to R 2 , and one can verify (24) and (25) by checking the component functions x f Π T , F , G | e d ( = 1 , , d ¯ ) with the unit vectors e of R d ¯ .    □

6. RSD Corrections over Mesh Edges

We turn back to the setting in R 3 , and apply the construction in Lemma 2 with the RSD interpolation function f : T R of the data. Concerning the derivative data G = g i , j : i , j = 1 , , R , we assume that there is an indexed family n i : i = 1 , , R of unit vectors candidates for normal vectors at the mesh points for the parametrized surface to be constructed (cf. Remark 2) such that
g i , j n i i , j = 1 , , R .
Henceforth, in short, we write f = f Π T , F , G in terms of the weight values ( t i , t 2 , t 3 ) 3 of a generic point in a mesh triangle:
f ( x t 1 , t 2 , t 3 n ) = i = 1 3 Ψ 0 ( t i ) f i n + Ψ 1 ( t i ) j = 1 3 t j g i , j n + + ( i , j , k ) S 3 χ 0 ( t i , t j , t k ) p i n + χ 1 ( t i , t j , t k ) g i , j n , ( x t 1 , t 2 , t 3 n = = 1 3 t p n , p n = p i ( n , ) , g k , n = q i ( n , k ) , i ( n , ) ) .
Given a double mesh edge E m , coupling the adjacent mesh triangles T n , T n ¯ with n = n * ( m , 1 ) < n ¯ = n * ( m , 2 ) , we can express the directional derivatives v m , v ¯ m , u m , u ¯ m : [ 0 , 1 ] R 3 in Lemma 1 in terms of the shape functions Ψ 0 , Ψ 1 and the directions as follows. With suitable indices i , j , k , k ¯ { 1 , , R ) , we can write
E m = p i , p j , T n = Conv p i , p j , p k , T n ¯ = Conv p i , p j , p k ¯ , u m = p k 1 2 p i + p j = p i , k 1 2 p i , j = p j , k 1 2 p j , i , u ¯ m = p k ¯ 1 2 p i + p j = p i , k ¯ 1 2 p i , j = p j , k ¯ 1 2 p j , i .
Due to the side derivative reduction property (25),
v m ( t ) = f t p i + ( 1 t ) p j u m = = Ψ 1 ( t ) g i , k 1 2 g i , j + Ψ 1 ( 1 t ) g j , k 1 2 g j , i .
v ¯ m ( t ) = Ψ 1 ( t ) g i , k ¯ 1 2 g i , j + Ψ 1 ( 1 t ) g j , k ¯ 1 2 g j , i ,
u m ( t ) = f t p i + ( 1 t ) p j p j , i = d d t f p i t p j , i = = Ψ 0 ( t ) ( t ) p i Ψ 0 ( 1 t ) p j + Ψ 1 ( t ) ( 1 t ) Ψ 1 ( t ) g i , j Ψ 1 ( 1 t ) t Ψ 1 ( 1 t ) g j , i .
Therefore, setting
w m ( t ) = u m ( t ) × v ¯ m ( t ) v m ( t ) ,
the determinant condition (15) of G 1 -coupling has the form
0 = v m ( t ) t 2 ( 1 t 2 ) z m ( t ) | w m ( t ) ( 0 t 1 ) .
Geometrically, the parameter t above is the value t = λ i ( x t ) = 1 λ j ( x t ) in terms of the weight functions associated with the endpoints of the interval p i , p j ] at a generic point x t = t p i + ( 1 t ) p j . Taking the algebraically more symmetric form z ( t ) = 1 2 z λ i ( x t ) + 1 2 z 1 λ j ( x t ) , we conclude the following characterization.
Theorem 1. 
Given any RSD tuple Π = [ Ψ 0 , Ψ 1 , χ 0 , χ 1 ] with a family of functions z 1 , , z M C 1 [ 0 , 1 ] 2 , R 3 , the map
F = f Π T , P , G Z [ z 1 , , z m ] T , P , G , where Z [ z 1 , , z m ] T , P , G = m = 1 M z m λ j ( m , 1 ) , λ j ( m , 2 ) λ j ( m , 1 ) 2 λ j ( m , 2 ) 2 λ k ( m , 1 ) + λ k ( m , 2 ) ,
defined in terms of the mesh T , with the structure described in Section 3, is a parametrized G 1 -spline surface T R 3 satisfying the constraints (1) in the G1-Interpolation Problem whenever, in terms of the vector functions (30), (31), and (33), we have
t 2 ( 1 t ) 2 z m ( t , 1 t ) | w m ( t ) = m ( t ) ( 0 t 1 ) with m ( t ) = det v m ( t ) v ¯ m ( t ) u m ( t ) .
Remark 6. 
In terms of the index function (7), setting z M * + 1 , , z M = 0 , the subfunction Z Π T , P , G | T n has the form
Z Π T , P , G x t 1 , t 2 , t 3 n = = 1 3 z m ( t 1 , t 2 ) t 1 2 δ 1 , t 2 2 δ 2 , t 3 2 δ 3 , ( t 1 , t 2 , t 3 ) 3 , whenever z m = solution of ( 35 ) if m M * , 0 else .

7. Criteria for RSD Solutions

Throughout this section, let Π = [ Ψ 0 , Ψ 1 , χ 0 , χ 1 ] denote an arbitrarily fixed RSD tuple. To simplify the terminology, we use the term divisibility for functions in C 1 [ 0 , 1 ] , meaning that f is divisible by g whenever f ( t ) = q ( t ) g ( t ) 0 t 1 ) for some (unique) continuous function g : [ 0 , 1 [ R (being necessarily smooth on ( 0 , 1 ) ).
We start with the following observation, which is crucial when looking for polynomial solutions of equations (35) to the G1-Interpolation Problem.
Proposition 2. 
If Ψ 0 ( t ) + Ψ 0 ( 1 t ) = 1 ( 0 t 1 ) and the shape functions Ψ 0 , Ψ are divisible by t 3 , then the determinant functions m ( t ) in (35) are divisible by t 2 ( 1 t ) 2 .
Proof. 
Fix an arbitrary edge index m and, for brevity, omit it for the terms m , v m , v ¯ m , w . In addition, we shorten the determinant expressions det to the form | | .
We begin the argument by recalling that, by assumption, the guessed tangent vectors issued from a mesh vertex are coplanar. In particular,
| g i , j , g i , k , g i , k ¯ = | g j , i , g j , k , g j , k ¯ | = 0
for the terms appearing in (30)–(32). On the other hand, according to (30) and (31), we simply have
v ¯ ( t ) v ( t ) = Ψ 1 ( t ) [ g i , k ¯ g i , k ] + Ψ 1 ( 1 t ) [ g j , k ¯ g j , k ] .
Furthermore, the relation Ψ 0 ( t ) + Ψ 0 ( 1 t ) 1 implies Ψ 0 ( t ) Ψ 0 ( 1 t ) 0 , entailing that Ψ 0 ( t ) = t 2 ( 1 t ) 2 η ( t ) , with the function η ( t ) = t 2 ( 1 t ) 2 [ t 3 ψ 0 ( t ) ] = ( 1 t ) 2 [ 3 ψ 0 ( t ) + t ψ 0 ( t ) ] , which is continuous on [ 0 , 1 ) . According to the symmetry Ψ 0 ( t ) = Ψ 0 ( 1 t ) , η is also continuous on ( 0 , 1 ] and, hence, on the whole closed interval [ 0 , 1 ] . Therefore, we have
( t ) = Ψ 1 ( t ) [ g i , k 2 1 g i , j ] + Ψ 1 ( 1 t ) [ g j , k 2 1 g j , i ] Ψ 1 ( t ) [ g i , k ¯ 2 1 g i , j ] + Ψ 1 ( 1 t ) [ g j , k ¯ 2 1 g j , i ] Ψ 0 ( t ) p j , i + Ψ 1 ( t ) ( 1 t ) Ψ 1 ( t ) g i , j Ψ 1 ( 1 t ) t Ψ 1 ( 1 t ) g j , i = Ψ 0 ( t ) ˜ 0 ( t ) + 1 = 1 2 2 = 0 1 3 = 1 2 Ψ 1 τ 1 ( t ) Ψ 1 τ 2 ( t ) ˜ 1 , 2 , 3 ( t ) ,
with the functions τ 0 ( t ) = t , τ 1 ( t ) = 1 t , i.e., τ ( t ) = t δ , 0 ( 1 t ) δ , 1 , where
˜ 0 = row 1 of ( t ) row 2 of ( t ) Ψ 0 ( t ) p j , i , ˜ 1 , 2 , 3 ( t ) = term with Ψ 1 τ 1 ( t ) term with Ψ 1 τ 2 ( t ) terms with Ψ 1 ( τ 3 ( t ) , Ψ 1 τ 3 ( t ) .
We complete the proof with the observations that
(a)
˜ 0 is divisible by Ψ 0 ( t ) being divisible by t 2 ( 1 t ) 2 ;
(b)
For ( 1 , 2 , 3 ) ( 0 , 0 , 0 ) or ( 1 , 1 , 1 ) , the determinant function ˜ 1 , 2 , 3 ( t ) is divisible by Ψ 1 τ 1 ( t ) Ψ 1 τ 2 ( t ) Ψ 1 ( τ 3 ( t ) + Ψ 1 τ 3 ( t ) 1 τ 3 ( t ) . Here, the term Ψ 1 τ 1 ( t ) Ψ 1 τ 2 ( t ) Ψ 1 τ 3 ( t ) is divisible by the product r = 1 3 τ r 3 = t 3 [ δ 0 , 1 + δ 0 , 2 + δ 0 , 3 ] ( 1 t ) 3 [ δ 1 , 1 + δ 1 , 2 + δ 1 , 3 ] . Similarly, Ψ 1 τ 1 ( t ) Ψ 1 τ 2 ( t ) Ψ 1 τ 3 ( t ) 1 τ 3 ( t ) is divisible by τ 1 ( t ) 3 τ 2 ( t ) τ 3 ( t ) 2 [ 1 τ 3 ( t ) ] = t 3 δ 0 , 1 + 3 δ 0 , 2 + 2 δ 0 , 3 + δ 1 , 3 ( 1 t ) 3 δ 1 , 1 + 3 δ 1 , 2 + 2 δ 1 , 3 + δ 1 , 3 . Here, the sum of the exponents of t and ( 1 t ) equals 3 + 3 + 2 + 1 = 9 , i.e., both terms are divisible by a product t r ( 1 t ) 9 r for some 0 r = r ( 1 , 2 , 3 ) 9 . Observe that, except for the cases ( 1 , 2 , 3 ) = ( 0 , 0 , 0 ) or ( 1 , 1 , 1 ) , we have 2 r ( 1 , 2 , 3 ) 7 ;
(c)
˜ 0 , 0 , 0 ( t ) = Ψ 1 ( t ) 2 Ψ 1 ( t ) + Ψ 1 ( t ) ( 1 t ) g i , k 2 1 g i , j g i , k ¯ 2 1 g i , j g i , j = 0 , and ˜ 1 , 1 , 1 ( t ) = Ψ 1 ( 1 t ) 2 Ψ 1 ( 1 t ) + Ψ 1 ( 1 t ) t g j , k 2 1 g j , i g j , k ¯ 2 1 g j , i g j , i = 0 , because the vector triples g i , k 2 1 g i , j , g i , k ¯ 2 1 g i , j , g i , j and g j , k 1 2 g j , i , g j , k ¯ 1 2 g j , i , g j , i are coplanar.

8. Complete Polynomial RSD Solutions

Henceforth, until the end of this section, we assume that the terms in Π are polynomials. In particular, we are interested in the extreme RSD tuples Π 0 , Π 1 in (26) with the shape functions (27). Note that
Φ ( t ) = 30 t 2 ( 1 t ) 2 , Φ ( t ) + Φ ( 1 t ) = 1 , Θ ( t ) ( 1 t ) = 12 t 2 ( 1 t ) 2 .
We apply the following elementary facts from the theory of Euclidean and prime ideal rings [12] restricted to the setting of real polynomials:
F1. 
If p , q , r : R R are polynomial functions, such that p ( t ) q ( t ) = t 2 r ( t ) , and p ( 0 ) , p ( 1 ) 0 , then t 2 ( 1 t ) 2 | q ( t ) .
F2. 
If p 1 , , p K , r : R R are polynomial functions, then there exist polynomials (the so-called cofactors of r with respect to q 1 , , q K ), such that r = p 1 q 1 + + p K q K , if and only if GCD ( p 1 , , p K ) | r ; i.e., the greatest common divisor of { p 1 , , p K } is a divisor of r.
Remark 7. 
The computer algebra packages MAPLE and WolframMathematica contain commands providing a cofactor representation GCD ( p 1 , p 2 ) = p 1 ϕ 1 ( p 1 , p 2 ) + p 2 ϕ 2 ( p 1 , p 2 ) with the degree limitation max deg ϕ ( p 1 , p 2 ) : = 1 , 2 max { deg ( ϕ ( p 1 , p 2 ) : = 1 , 2 } . According to the reference in the packages, the construction of ϕ 1 , ϕ 2 refers to an early work [12] of Bézout, relying on a careful inspection of the steps of Euclidean division restricted to the case of two polynomials. It seems that there is no analogous command for cases with more polynomials. Our discussion requires calculation of the GCD of three terms. Clearly, we can produce a cofactor representation of the form by consecutively calculating the cofactors of r = GCD ( p 1 , p 2 ) and then the cofactors of GCD ( r , p 3 ) with the standard routines ϕ 1 , ϕ 2 ; in this way, we obtain a representation of the form GCD ( p 1 , p 2 , p 3 ) = p 1 [ q 1 , 1 q 2 , 1 ] + p 2 [ q 1 , 2 q 2 , 1 ] + p 3 q 2 , 2 with q 1 , = ϕ ( p 1 , p 2 ) , q 2 , = ϕ ( r , p 3 ) . Unfortunately, the degree limitation max { deg ( q 1 , 1 q 2 , 1 ) , deg ( q 1 , 2 q 2 , 1 ) , deg ( q 1 , 2 ) } is no longer valid in general. (One can find several counter-examples of the form p 1 = s 1 s 2 , p 2 = s 2 s 3 , p 3 = s 3 s 1 with random coefficients). Nevertheless, we can prove the following sharpened version of F1, which is suited for remarkably reducing the numerical costs involving algorithms with the GCD of several polynomials.
F2*. 
Given any family p 1 , , p K of real polynomials (or even polynomials with coefficients in a generic field), we can choose q 1 , , q K with max k = 1 K deg ( q k ) max k = 1 K deg ( q k ) such that k = 1 K p k q k = GCD ( p 1 , , p K ) .
As we could not identify a related reference, we include Appendix A with a constructive proof, which gives rise to a related algorithm in a straightforward manner.
Lemma 3. 
Let E m = [ p i , p j ] be a double edge, which is the intersection of the mesh triangles T n = Conv p i , p j , p k and T n ¯ = Conv p i , p j , p k ¯ . Assume Ψ 0 , Ψ 1 , χ 0 , χ 1 are polynomial maps, and the lateral derivatives v , v ¯ , u in (30)–(33) are polynomial functions. Then, the determinant Equation (35) admits a polynomial solution z m : R 2 R 3 whenever t 2 ( 1 t ) 2 | m ( t ) .
Proof. 
Omitting the indices m without risk of confusion, let us write w 1 , w 2 , and w 3 for the components of the polynomial vector function w : R R , and let ρ = GCD ( w 1 , w 2 , w 3 ) . Assume that ( t ) = t 2 ( 1 t ) 2 δ ( t ) for some polynomial δ : R R .
Observe that, due to hypothesis (12), regarding the vectors g r , s ( r , s { i , j , k , k ¯ } ) , we have
ρ ( 0 ) , ρ ( 1 ) 0 .
Proof by contradiction: The relation 0 = ρ ( 0 ) = GCD ( w 1 , w 2 , w 3 ) would imply t | w 1 , w 2 , w 3 , whence 0 = w ( 0 ) = [ v ¯ ( 0 ) v ( 0 ) ] × u ( 0 ) = g i , k ¯ g i , k × g i , j . This is impossible since, by supposing (40), we would have g i , k ¯ = g i , k + γ g i , j for some scalar γ R , which would mean that the intersection of the triangles Conv p i , p j , p r ( r = k , k ¯ ) would be a non-degenerate triangle. We conclude that ρ ( 1 ) 0 by arguing the index change i j .
Consider the case t 2 ( 1 t ) 2 | ( t ) ; i.e., ( t ) = t 2 ( 1 t ) 2 δ , for some polynomial δ : R R . On the other hand, as ρ = GCD ( w 1 , w 2 , w 3 ) , we can write w ( t ) = ρ ( t ) w ¯ ( t ) with the polynomial function with components w ¯ = w ( t ) / ρ ( t ) . According to (29), we have w ( t ) = v ( t ) × w ( t ) ; hence, we obtain the identity
t 2 ( 1 t ) 2 δ ( t ) = ρ ( t ) v ( t ) | w ¯ ( t ) .
According to F1, we see that necessarily t 2 ( 1 t ) 2 | v ( t ) | w ¯ ( t ) ; that is, ρ ( t ) | ( t ) t 2 ( 1 t ) 2 . According to F2, there are polynomials q 1 , q 2 , q 3 : R R such that
( t ) t 2 ( 1 t ) 2 = q 1 ( t ) w 1 ( t ) + q 2 ( t ) w 2 ( t ) + q ( t ) w 1 ( t ) = q ( t ) | w ( t ) ,
which completes the proof.    □
As an immediate corollary, we find the following polynomial solution of the G1-Interpolation Problem.
Theorem 2. 
Given any polynomial RSD tuple Π, in particular, Π = Π 0 or Π = Π 1 , the map F : T R 3 in Theorem 1 can be applied with polynomial edge corrections z m ( t 1 , t 2 ) , such that
z m ( t , 1 t ) = m ( t ) t 2 ( 1 t ) 2 ρ ( t ) q m ( t ) m = 1 , , M * , where m ( t ) = v m ( t ) | w m ( i ) in terms of ( 30 ) ( 33 ) applied to f = f Π T , P , G ; ρ m ( t ) = GCD w m 1 ( t ) , w m 2 ( t ) , w m 3 ( t ) with cofactors q m 1 ( t ) , q m 2 ( t ) , q m 3 ( t )
is a parametrized G1-spline surface passing through the mesh points p i , with the lateral derivatives F ( p i ) p i , j = g i , j   [ p i , p j ] E along the mesh edges, which consist of polynomial submaps F | T n .

9. Computational Complexity, Hints for Implementation, and Further Modifications

Our considerations below are based on an analysis of the MAPLE 17 run protocols in [10], which can serve as the starting material for larger program packages in strong computer architectures.
If the evaluation of a single point F n ( p ) , p ŋ T n with Algorithm 1 is the focus, we only need the first-order data associated with at most four triangles (those of T n and its neighbors with a common edge). According to (29), Step 1 producing f Π T , P , G k = 1 3 t k p i * ( n , k ) requires calling the routines three times to perform the shape functions Ψ 0 , Ψ 1 and six times for the routines of χ 0 and χ 1 , respectively, combined with multiplication by the constants and 3D vectors after each call. In the case of the polynomial RSD tuples Π 0 or Π 1 , we need at most six multiplicative operations with double precision three-vectors for the calculation of any shape function. Hence, STEP 1 needs at most ( 3 + 3 + 6 + 6 ) · 6 · 3 = 324 multiplicative operations if Π = Π 0 or Π = Π 1 at a single point.
Similar arguments ensure that the routines of the shape functions should be called at most 2 · 2 · 3 times, combined with at most 24 multiplicative operations, during the symbolic calculation of the numerator in a single expression ζ m . To calculate the GCD and its cofactors of the components w m k ( t ) ( k = 1 , 2 , 3 ) , we apply STEP 3 with Algorithm 2 (described separately in Appendix A) when polynomial shape functions are given. When working with polynomials of degree D , the operational cost of a correction function of the form z m ( t , 1 t ) = [ ζ m ( t ) + z m ( 1 t ) can be estimated from the above with 9 D 2 times the cost of the treatment of a double precision multiplication. Thus, in the case of the RSD tuples Π 0 , Π 1 , we can evaluate any point of the form F n k = 1 3 t k p i * ( n , k ) with a cost of less than 324 + 3 · 9 · 12 2 = 4212 multiplicative operations.
Observe that STEP 1 can be performed in an arbitrary scale of parallelization and, based on its results, STEP 2 admits an arbitrary scale of parallelization. Hence, it is a more convenient strategy to first compute a symbolic expression (or routine) for f Π T , P , G | T n ( n = 1 , , N ) , store it in terms of the extended weights (which requires only substitutions), e.g., with computer algebra, and then use its results to calculate the edge correction functions z m ( t , 1 t ) | E m m = 1 , , M * ) along the double edges in a parallelized manner. Finally, we assemble a symbolic expression for submaps F n = F | T n by adding the contents of the storage of f Π T , P , G | T n with at most three parts of the form z ( l a m b d a i , λ j ) λ i 2 λ j 2 λ k . Hence, in the case of the RSD tuples Π 0 , Π 1 , we can conclude with the rough estimate that OUTPUT1 and OUTPUT2 require less than ( 3 / 2 ) ( 432 + 288 + 9 12 2 ) [ 1 + N / P ] parallel multiplications if P-fold parallelization is available.
It is straightforward to see that the calculations using a polynomial RSD tuple with terms of degree D require less storage than the capacity of storing 6 · ( R + N + M ) · 6 polynomials of degree D. In a recent article [13] addressing the improvement of finite element methods, excellent new ideas appear for treating the low efficiency issue with parallelization, which could be incorporated in our future work.
In our MAPLE presentations in [10], we concentrated on the most popular application of parametric polynomial G1-splines over triangular meshes: the reconstruction of a 2D surface in 3D from scanned data ordered in a triangular mesh. We paid particular attention to the automatic guessing of derivative data from the coordinates of the mesh vertices using the method described in Remark 2. Notice that such a choice does not guarantee the natural expectation (12). The MAPLE run protocol RSD1a.pdf in [10] treats a simple example of what may happen without (12). For automatic correction, one can replace the terms n i = p i , j ν ( i ) × p i , j 1 + k = 1 ν ( i ) p i , j k × p i , j k + 1 in Remark 2 with a perturbed version n i = a + p i , j ν ( i ) × p i , j 1 + k = 1 ν ( i ) ω k p i , j k × p i , j k + 1 , where the values of the vector a are chosen consecutively from a dense sequence a 1 , a 2 , [ 0 , 1 ] 3 , until the resulting guesses g i , j = Pr n i + a p i , j satisfy (12).
Due to the local character of Algorithm 1, in order to investigate the accuracy of our method, it is sufficient to calculate the resulting parametrized G1-surface over small pieces of the mesh; namely, if we perform the computations only over a mesh triangle T n and its neighbors, the result over T n is not changed by moving to more mesh data. In this sense, tetrahedrons can serve as a “worst case analysis”. Recently, interesting works have appeared [9,14] concerning the accuracy of spline approximations, which can inspire similar studies using Algorithm 1. As far as the basic RSD interpolation is concerned, in [8] (Theorem 5.19), we achieved some relevant estimates which can be applied directly to parametrized surfaces of the type f Π 1 T , F , G . As our edge corrections heavily depend on the use of Algorithm 2, effective norm estimates of the cofactors of the GCD of three polynomials seem to be indispensable in estimating the approximation accuracy of our method when the data are points or points with tangent vectors on a smooth surface.
We conclude this work with the following practical hint. There is a generic way to change a polynomial G1-surface F parametrized over a triangular mesh, which leaves the image of the edge skeleton (and, hence, also the constraints (1)) Given any mesh triangle T n with vertices p i , p j , p k , we can replace F with F + λ i λ j λ k 2 φ ( λ i , λ j , λ k ) where φ : R 3 R 3 is any polynomial mapping.
Algorithm 1 Representation of range F Π T , F , G with a polynomial RSD tuple Π
Require:  R , N , M * for the number of mesh vertices, triangles or double edges;
the index functions i * , j * , n * , k * , m * of the mesh structure in (3)–(7);
p i i = 1 R , f i i = 1 R , g i , j i , j = 1 R for mesh vertices, data values or data vectors in (1);
polynomial RSD shape functions Ψ 0 , Ψ 1 C 1 [ 0 , 1 ] , χ 0 , χ 1 C 1 [ 0 , 1 ] 3 .
Ensure: List of functions F 1 , F 1 , ¯ , F N , F ¯ N : 3 R 3 representing subfunctions F Π T , P , G | T n
    in the form F n ( t 1 , t 2 , t 3 ) = F Π T , P , G x t 1 , t 2 , t 3 n ( t 1 , t 2 , t 2 ) 3
    in terms of the local barycentric parametrization x t 1 , t 2 , t 3 n in (29) of triangle T n .
Calculation: With auxiliary storage:
        v m , v ¯ m , u m , w m , q m ( m [ 1 , M * ] ) for polynomial maps R R 3 ;
        ζ m , ρ m m = 1 , , M * ) for polynomial functions.
STEP 1: Compute and store the basic approximations f Π T , F , G | T n ( n = 1 , , N )
          F n ( t 1 , t 2 , t 3 ) f ( x t 1 , t 2 , t 3 n ) given in ( 29 )     ( n = 1 , , N ) ,
         Substitute t 1 λ i * ( n , 1 ) , t 2 λ i * ( n , 2 ) , t 3 λ i * ( n , 3 ) in each F n ;
STEP 2: For m = 1 , , M * , compute and save the edge correction functions
          ζ m t v m ( t ) | w m ( t ) t 2 ( 1 t ) 2 ρ m ( t ) , v m , v ¯ m , w m defined in ( 30 ) ( 33 ) , ρ m = [ GCD of the components of w m ] .
STEP 3: Using Algorithm 2, compute and save the GCD cofactors of the
         components w m 1 ( t ) , w m 2 ( t ) , w m 3 ( t ) of w m ( t )
          q m [ Cofactor w m ( t ) ) : = 1 , 2 , 3 .
OUTPUT1: The subfunctions F Π T , F , G | T n in storage F n in terms of extended weights
            computed consecutively along the double edges E m ( m = 1 , , M * )
            with corrections corresponding to
             z ( t , 1 t ) = 1 2 ζ ( t ) + 1 2 ζ ( 1 t ) in Lemma 2:
       i j * ( m , 1 ) , j j * ( m , 2 ) , k k * ( m , 1 ) , k ¯ k * ( m , 2 ) , n n * ( m , 1 ) , n ¯ j * ( m , 2 ) ;
        F n F n + 1 2 t λ i 2 λ j 2 λ k ζ m ( λ i ) q m ( λ i ) + ζ m ( 1 λ j ) q m ( 1 λ j ) ,
        F n ¯ F n ¯ + 1 2 t λ i 2 λ j 2 λ k ¯ ζ m ( λ i ) q m ( λ i ) + ζ m ( 1 λ j ) q m ( 1 λ j ) ;
OUTPUT2: The subfunctions F Π T , F , G | T n in storage F n in terms of local weights
        F ¯ n [ F n with substitution λ i * ( n , ) t ( = 1 , 2 , 3 ) ] .
Algorithm 2 Construction of GCD cofactors with low degree
Require:  K { 2 , 3 , } for the number of polynomials for GCD calculation;
                 a ¯ 0 = a 1 0 ( t ) , a 2 ( t ) , , a K 0 ( t ) , list of polynomials in the variable t
Ensure:  GCD ( a ¯ 1 0 , , a K 0 ) and a list q ¯ = q 1 ( t ) , , q n ( t ) of polynomials
                such that max k = 1 K deg ( q k ) max k = 1 K deg ( a k ) and k = 1 K a k q k = GCD ( a 1 , , a K ) .
Calculation: With auxiliary stores p ¯ for K-vectors or X , N , R , D for ( K × K ) -matrices.
STEP(0):         p ¯ a ¯ 0 , X 0 Id K ;
STEP(s+1):     q ¯ N p ¯ p ¯ , X X N p ¯ ,
                          p ¯ R p ¯ p ¯ , X X R p ¯ ,
                          p ¯ D p ¯ r ¯ , X X D p ¯ ;
STOP if p 1 ( t ) = = p K 1 ( t ) 0 .
OUTPUT: p K ( t ) as the GCD of a 1 0 ( t ) , , a K 0 ( t ) ,
                      X K , 1 ( t ) , X K , 2 ( t ) , , X K , K ( t ) as its cofactors with respect to a 1 0 ( t ) , , a K 0 ( t ) .

Funding

This research received no external funding.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Conflicts of Interest

The author declares no conflicts of interest.

Appendix A. GCD Cofactors with Low Degree

Let F denote an arbitrarily fixed field, and let t be a fixed variable symbol. In short, we write Pol N ( F ) for the family of all polynomials p = p ( t ) = a 0 + a 1 t + + a N t N (as formal sums) with coefficients from F having degree deg ( p ) = max { k , : a k 0 } . For the polynomial division (Euclidean division) and its remainder term of p , q Pol ( F ) = N = 1 Pol N ( F ) or the greatest common divisor of a family { a 1 , , a K } Pol ( F ) , we write p : q with ρ ( p , q or GCD ( a 1 , , a K ) . Thus, by definition, p = [ p : q ] q + ρ ( p , q ) , where the main coefficient of GCD ( a 1 , , a K ) has the value 1 F .
Remark A1. 
For later use, we recall the following elementary facts:
(a) 
If p , q Pol N ( F ) with deg ( p ) deg ( q ) 1 , then deg ( p : q ) = deg ( p ) deg ( q ) and deg ( ρ ( p , q ) ) < deg ( q ) .
(b) 
If p , q Pol N ( F ) with deg ( p ) deg ( q ) 1 , then {Common divisors of p and q } = {Common divisors of q and ρ ( p , q ) } .
(c) 
Given any family a 1 , , a K Pol ( F ) , we have GCD ( a 1 , , a K ) = k = 1 K q k a k with suitable polynomials q 1 , , q k Pol ( F ) .
In most popular computer algebra packages, there is a command that performs an algorithm due to Bézout [12], providing cofactors Q 1 ( a 1 , a 2 ) , Q 2 ( a 1 , a 2 ) Pol ( F ) , such that GCD ( a 1 , a 2 ) = k Q k ( a 1 , a 2 ) a k with max k deg Q k ( a 1 , a 2 ) max k deg ( a k ) . As mentioned in Remark 7, it seems that no analogous algorithm (or related theoretical result) is available that provides the GCD of three polynomials with sufficiently low dimensional cofactors. Below, we aim to fill this gap.
Lemma A1. 
If a 1 , , a K Pol ( F ) with N = max k = 1 K deg ( a k ) 1 and R = deg ( GCD ( a 1 , , a K ) ) , then we have GCD ( a 1 , , a K ) = q 1 a 1 + + q K a K . for some q 1 , , q K Pol N R 1 ( F ) .
Proof. 
Let Q : = GCD ( a 1 , , a K ) , K > 1 . Observe that, for any family q 1 , , q K of polynomials, we have q 1 a 1 + + q K a K = Q if and only if q 1 [ a 1 / Q ] + + q K [ a K / Q ] = 1 . Thus, as deg ( a j / Q ) = deg ( a j ) deg ( Q ) = deg ( a j ) M , and GCD ( a 1 / Q , , a K / Q ) = GCD ( a 1 : Q , , a K : Q ) = 1 , it is sufficient to restrict ourselves to the cases with Q = 1 . That is, we have to prove the following statement:
( ) If the polynomials a 1 , , a K are relatively prime (i.e., GCD ( a 1 , , a K ) = 1 ), and N = deg ( a 1 ) deg ( a K ) 1 , then there exist q 1 , , q K of degree N 1 , such that k = 1 K q k a k = 1 .
Case N = 1 is trivial: if GCD { a 1 , , a K } = 1 , and 1 = max k = 1 K deg ( a K ) , then there are indices m 1 m 2 , such that a m ( t ) α t + β = 1 , 2 ) , with either α 1 , α 2 0 or α 1 , β 2 0 = α 2 . In any case, 1 γ 1 a m 1 ( t ) + γ 2 a m 2 ( t ) with suitable constants γ 1 , γ 2 F .
We proceed by induction. Let N 1 . Assume that, given any polynomials b 1 , , b K with 1 max k = 1 K deg ( b k ) N , there exist r 1 , , r K Pol N ( F ) , such that 1 k = 1 K r k b k .
Consider any sequence a 1 , , a K Pol N + 1 ( F ) with GCD ( a 1 , , a K ) = 1 . Let M : = min { deg ( a j ) : a j ¬ 0 } , and let m denote an index such that deg ( a m ) = M . Notice that in the case of M = 0 , we simply have 0 a m ( t ) α F and, hence, trivially 1 = k = 1 K q k a k with q m α 1 and q j 0 for j m .
In the remaining cases M 1 , we have the alternatives
(i)
N + 1 > M 1 , i.e., N min { deg ( a j ) : a j ¬ 0 } = a m for some index m;
(ii)
N + 1 = M , i.e., deg ( a j ) = N + 1 for all indices j with a j 0 .
In the case (i), define b m = a m , b j : = ρ ( a j , a m ) for j m (in particular, b j = 0 if a j = 0 ). According to Remark A1 (b), GCD ( a 1 , , a K ) = GCD ( b 1 , , b K ) = 1 . According to Remark A1 (a), deg ( b j ) < deg ( a m ) = M ( j m ) . Thus, max j deg ( b j ) = deg ( a m ) , and via the induction hypothesis, there are polynomials r 1 , , r K with degree deg ( a m ) 1 = M 1 , such that
1 = r 1 b 1 + + r K b K = r m a m + j m r j [ a j ( a j : a m ) a m ] = j = 1 K q j a j
with q j = r j ( j m ) , q m = r m j m ( a j : a m ) r j .
  • Here, we have
deg ( q j ) = deg ( r j ) deg ( a m ) 1 = M 1 N ( j m ) ,
deg ( q m ) = max deg ( r m ) , deg ( ( a j : a m ) r j ) : m j = 1 , , K 1 .
Since, for j m , deg ( a j : a m ) = deg ( a j ) deg ( a m ) N + 1 deg ( a m ) = N + 1 M , we have deg ( q m ) N + 1 deg ( a m ) + deg ( r j ) N + 1 deg ( a m ) + deg ( a m ) 1 = N , it follows that deg ( q j ) N for all indices, which completes the proof in case (i).
Case (ii): Let deg ( a j ) = a m = N + 1 for all indices with a j 0 . Disregarding the trivial case a j = 0 ( j m ) with 0 a m , we can apply the arguments used in Case (i) to the sequence a ¯ j : = a j ( j m ) , a ¯ m : = ρ ( a n , a m ) with some index n, such that a n 0 , with the the conclusion that j = 1 K q ¯ j a ¯ j = 1 for suitable q ¯ 1 , , q ¯ K Pol N ( F ) . Since ρ ( a n , a m ) = a n ( a n : a m ) a m , where deg ( a n : a n ) = deg ( a n ) deg ( a m ) = 0 , that is, a ¯ m = a n γ a m with some constant γ F , we have 1 = q ¯ m ( a n γ a m ) + j m q ¯ j a j = j = 1 K q j a j with the polynomials q j : = q ¯ j ( j n , m ) , q n : = q ¯ n + q ¯ m , q m : = γ q ¯ m of degree N . □
Remark A2. 
Following the arguments in the proof of Lemma A1, we find GCD cofactors with degree N for a sequence a ¯ 0 = a 1 0 ( t ) , , a K 0 ( t ) of polynomials with degree N by a procedure, which consists of decreasing the degree of some of the polynomials stepwise with multiplication with a suitable ( K × K ) -matrix with polynomial entries.
Starting with a ¯ 0 or X 0 = Id K , we repeat the operations N , R , D realized by multiplications from the right with the ( K × K ) -matrices N p ¯ , R p ¯ , D p ¯ given below, until we achieve a sequence of the form a ¯ s = 0 , , 0 , a K s ( t ) .
N , R , D : F [ t ] K F [ t ] K operations on K-tuples of polynomials,
     N : a k ( t ) k = 1 K a k ( t ) / maincoeff ( a k ) k = 1 K normalization,
     N ( p ¯ ) = p ¯ N p ¯ , N p ¯ = δ i , j / maincoeff * ( p j ) i , j = 1 K
    where maincoeff k = 0 N α k t k = α N if α N 0 or maincoeff ( 0 ) = 0 ,
     R : a k ( t ) k = 1 K a σ ( k ) ( t ) k = 1 K reordering,
    where σ = σ p ¯ is an index permutation with the effect
     | deg ( a π ( 1 ) ) | | deg ( a π ( 2 ) ) | | deg ( a π ( K ) ) | , ( deg ( 0 ) = ) ;
     R p ¯ = p ¯ R p ¯ , R p ¯ = δ i , σ p ¯ ( j ) i , j = 1 K .
     D : 0 , , 0 , a L ( t ) , , a K ( t ) 0 , , 0 , a L * ( t ) , a L + 1 , , a K ( t ) ( a L 0 )
    degree decreasing with a L * ( t ) = a L ( t ) t deg ( a L ) deg ( a L + 1 ) a L + 1 ( t ) ,
    and leaving the sequences of the form [ 0 , , 0 , a K ( t ) ] invariant;
    we set D p ¯ = Id if L = K .
The procedure terminates after, at most, S = k = 1 K deg ( a k 0 ) steps, as the sum of the degrees of the non-zero polynomials in any sequence containing more than one non-zero member is decreased by 1 after each application of D . The GCD of the non-zero polynomials in any sequence remains invariant after each substep. Hence, for the values p ¯ s , X s of stores of p ¯ or X s at the end of STEP ( s ) , we have p ¯ s + 1 = a ¯ 0 X s . Thus, in STEP ( S * ) of the termination, we have p ¯ = p ¯ S * = 0 , 0 , , GCD = a ¯ 0 X = k = 1 K a k 0 X K , k .

References

  1. Lee, J.M. Introduction to Smooth Manifolds; Springer: New York, NY, USA, 2012. [Google Scholar]
  2. Dell’Accio, F.; Di Tommaso, F.; Noussier, O.; Zerroudi, B. Fast and accurate scattered Hermite interpolation by triangular Shepard operators. J. Comput. Appl. Math. 2021, 382, 113092. [Google Scholar] [CrossRef]
  3. Cao, J.; Chen, Z.; Wei, X.; Zhang, Y.J. A finite element framework based on bivariate simplex splines on triagle configurations. Comput. Methods Appl. Mech. Eng. 2019, 357, 112598. [Google Scholar] [CrossRef]
  4. Elefante, G. A baricentric trigonometric Hermite interpolant via an iterative approach. J. Comput. Appl. Math. 2024, 439, 115597. [Google Scholar] [CrossRef]
  5. Hahmann, S.; Bonneau, G.-P. Triangular G1 interpolation by 4-splitting domain triangles. Comput. Aided Geom. Des. 2000, 17, 731–757. [Google Scholar] [CrossRef]
  6. Zhai, J.; Zhang, Z.; Wang, T. Fractional Hermite interpolation for non-smooth functions. ETNA Electron. Trans. Numer. Anal. 2020, 52, 113–131. [Google Scholar] [CrossRef]
  7. Stachó, L.L. A Simple Affine-Invariant Spline Interpolation over Triangular Meshes. Mathematics 2022, 10, 776. [Google Scholar] [CrossRef]
  8. Stachó, L.L. On Hermitian interpolation of first order data with locally generated C1-splines over triangular meshes. Publ. Math. Debrecen 2023, 106. [Google Scholar]
  9. Berger, M. Geometry I; Springer: New York, NY, USA, 2009. [Google Scholar]
  10. Stachó, L.L. Homepage of László L. Stachó. Available online: https://www.math.u-szeged.hu/~stacho/maple/ (accessed on 21 June 2025).
  11. Whitney, H. Analytic extensions of differentiable functions. Trans. Am. Math. Soc. 1934, 36, 63–89. [Google Scholar] [CrossRef]
  12. Basu, S.; Pollack, R.; Roy, M. Algorithms in Real Algebraic Geometry; Springer: New York, NY, USA, 2006; Chapter 4.2. [Google Scholar]
  13. Liu, K.; Tian, L.; Gao, T.; Wang, Z.; Li, P. An explicit D-FE2 method for transient multiscale analysis. Int. J. Mech. Sci. 2025, 285, 109808. [Google Scholar] [CrossRef]
  14. Rao, N.; Farid, M.; Raiz, M. On the approximations and symmetric properties of Frobenius-Euler-Simsek polynomials connecting Szász operators. Symmetry 2025, 17, 648. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Stachó, L.L. Locally RSD-Generated Parametrized G1-Spline Surfaces Interpolating First-Order Data over 3D Triangular Meshes. AppliedMath 2025, 5, 83. https://doi.org/10.3390/appliedmath5030083

AMA Style

Stachó LL. Locally RSD-Generated Parametrized G1-Spline Surfaces Interpolating First-Order Data over 3D Triangular Meshes. AppliedMath. 2025; 5(3):83. https://doi.org/10.3390/appliedmath5030083

Chicago/Turabian Style

Stachó, László L. 2025. "Locally RSD-Generated Parametrized G1-Spline Surfaces Interpolating First-Order Data over 3D Triangular Meshes" AppliedMath 5, no. 3: 83. https://doi.org/10.3390/appliedmath5030083

APA Style

Stachó, L. L. (2025). Locally RSD-Generated Parametrized G1-Spline Surfaces Interpolating First-Order Data over 3D Triangular Meshes. AppliedMath, 5(3), 83. https://doi.org/10.3390/appliedmath5030083

Article Metrics

Back to TopTop