1. Introduction
By a triangular mesh in 3D we mean a finite family of non-degenerate triangles such that the intersections are either empty or mesh points or common edges, and no three different mesh triangles meet in a common edge. A -parametrized -spline surface is a continuous mapping whose subfunctions (the restrictions are -smooth with -coupling along common edges (that is, given and , the tangent vectors together with do not span ). It is well-known from classical differential geometry [7] that, in the above setting, if F is a homeomorphism with -coupling and in every triangle then the figure is a -submanifold of .
Due to exigences of elaborating data of scanned surfaces, recently the construction of parametrized -spline surfaces in 3D became a popular topics. It seems that one branch in the main stream consists of papers aiming to establish reasonable meshes with plane figures fitting to a set of 3D-points, while another branch concentrates in 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 artificial new mesh points or modifying the underlying data (for typical examples see [2,4,5,6,12]).
In this paper we are going to apply our "minimalist" local
-spline algorithm [9] extended in [10] to more shape functions called
RSD method (method of reduced side derivatives, to be introduced in
Section 2). By writing
for the family of mesh vertices, our purpose is to investigate the following problem with primary interest in polynomial solutions.
G1-Interpolation Problem.Given two families resp. of vectors in , find a parametrized -spline surface such that
We shall proceed the following strategy: By introducing
extended barycentric weights and using any RSD family of shape functions we obtain a G0-spline map in the form
which automatically satisfies the initial conditions
. To correct it to a G1-spline, we look for
F in the form
where the index set
consists of all triples
being such that
,
is a double mesh edge (i.e., belonging to two different mesh triangles) and
is a mesh triangle. The splines
coincide along the mesh edges. The familiar determinant condition of G1-coupling along the common edge
of two adjacent subfunctions
and
with
resp.
can be written in a form
where the terms
are linear combinations of the vectors
with coefficients belonging to
. We finish the paper with a study of the case with polynomial shape functions
such that
and
like the functions
in [9], furthermore assuming that the families
is a mesh edge}
are coplanar like in the case when
is a tangent vector of a smooth surface at the point
. Then we achieve a complete solution of the Problem, constructing a solution of
by means a of family
of cofactors for the GCD (greatest common divisor)
of the components
of
.
In general, given a family of polynomials over an arbitrary field , it is of independent interest to find cofactors (that is polynomials with with lowest degrees possible. Actually one can choose above satisfying . Since we do not know a reference (cf. Remark 7), we give a proof for this fact and describe a related algorithmic construction.
3. Mesh Structure, Data of First Order
Henceforth let
be an arbitrarily fixed connected regular triangular mesh in
with vertices resp edges ordered in the arrays
resp.
where
with suitable index function
resp.
. We also assume that the indices of double edges precede those of the single ones: {double edges
. Three further index functions
resp.
will be used to describe edge adjacency:
In the sequel we write
for the polyhedron formed by the mesh triangles, the skeleton of edges and the set of vertices, the the matrix of
edge vectors and the
weight line vectors, respectively.
Our later spline surface constructions will consist of families of curved images of the mesh triangles connecting point triples
whenever
. To prescribe tangent vectors for them at the vertices, henceforth we fix an arbitrary matrix
with vector entries satisfying the geometric constrains. With the standard notations for the line segment
resp the triangle
,
Remark 1. These restrictions are natural in the sense that, for each mesh vertex , (10), (11) imply the existence of a plane passing through the point such that . The plane will play the role of a guessed tangent plane of the surface interpolating the points in by our construction. Condition (12) excludes "too twisted" surfaces.
Remark 2. The popular task of constructing surfaces passing through the mesh vertices, corresponds to the case . Often only scanned data for the mesh points with a triangularization (the family ) are available and the tangent vectors should be guessed. If we are given the tangent plane (e.g., the scanner provides also a normal vector to the scanned surface) there is a natural choice, namely the orthogonal projection of the edge vector onto . Without further information on tangent planes, if the mesh triangles form a closed surface, a convenient guess for normal vectors is where form a cycle of the neighboring vertices of such that all the segments between consecutive elements are mesh edges.
Definition 1. Given any mesh vertex
, define its
extended weights as the union of the functions
on the mesh triangles containing the point
as a vertex letting to vanish on the remaining mesh triangles. That is, in terms of restrictions,
Notice that the functions 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 , we have the coincidence . Indeed, in terms of the Kronecker- at the end points we have . Since the graph of an affine function defined on a triangle in is a triangle in , the graphs of the subfunctions , of form two adjacent triangles in meeting in the segment with end points resp. whence the continuity of is immediate.
Remark 3. (i) By definition is the family of all continuous functions being continuously differentiable on the the interior of whose Fréchet derivatives (as functions extend continuously to . It is an easy consequence of Whitney’s embedding theorem [11] that any function admits a continuously differentiable extension to
(ii) Recall that a
parametrized -spline surface in 3D over the mesh
is a continuous function
with subfunctions
such that any two submaps
along a double edge
meet with tangent spaces not spanning the whole
:
Lemma 1.
In terms of the edge- resp. weight line vectors, the -coupling relation can be expressed in the analytic form
Proof. This is an immediate consequence of the fact that and if is a double edge with , , resp. , and . □
7. Criteria for RSD Solutions
Throughout the whole section, let denote an arbitrarily fixed RSD tuple. For simplifying terminology, we use the term divisibility for functions in , meaning that f is divisible by g whenever for some (unique) continuous function (being necessarily smooth on ).
We start with the following observation, which will be crucial when looking for polynomial solutions of the equations (35) to the G1-Interpolation Problem.
Proposition 2. If and the shape functions are divisible by then the determinant functions in are divisible by .
Proof. Fix an arbitrary edge index m and, for short, omit it for the terms . Also we shorten the determinant expressions in the form .
Start the argument recalling that, by assumption, the guessed tangent vectors issued from a mesh vertex are coplanar. In particular
for the terms appearing in (30), (31), (32). On the other hand, since by (30), (31) we simply have
Furthermore the relation
implies
entailing that
with the function
which is continuous on
. By the symmetry
,
is continuous also on
and hence on the whole closed interval
. Therefore we have
with the functions
,
i.e.,
where
We complete the proof with the observations that
(a) is divisible with being divisible with ;
(b) For or , the determinant function is divisible with . Here the term is divisible with the product . Similarly is divisible with . Here the sum of the exponents of t and equals . i.e., both terms are divisible by a product for some . Observe that, except for the cases or , we have .
(c) and because the vector triples resp. are coplanar. □
8. Complete Polynomial RSD Solutions
Henceforth, until the end of the section, we assume that the terms in
are polynomials. In particular we shall be interested in the extreme RSD tuples
in (26) with the shape functions (27). Notice that
We shall apply the following elementary facts from the theory of Euclidean resp. prime ideal rings [1] restricted to the setting of real polynomials:
-
F1.
If are polynomial functions such that and then .
-
F2.
If are polynomial functions then there exist polynomials (the so-called cofactors of r wrt. ) such that if and only if i.e., the greatest common divisor of is a divisor of r.
Remark 7. The computer algebra packages MAPLE resp. WolframMathematica contain commands providing a cofactor representation with the degree limitation . According to the reference in the packages, the construction of goes back to an early work [1] of Bézout, relying on a careful inspection of the steps of Euclidean division, restricted to the case of two polynomials. It seems, there is no analogous command for more polynomials. Our later discussion requires to calculate the GCD of three terms. Clearly we can produce a cofactor representation of the form by calculating consecutively the cofactors of and then the cofactors of with the standard routines we get a representation with , . Unfortunately, the degree limitation is no longer valid generally. (One can find several counter-examples of the form , , with random coefficients). Nevertheless we can prove the following sharpened version of F1 suited for reducing remarkably the numerical costs involving algorithms with GCD of several polynomials.
-
F2*.
Given any family of real polynomials (or even polynomials with coefficients in a generic field), we can choose with such that .
Since we do not know any reference, we include an Appendix with constructive proof which gives rise to a related algorithm in a straightforward manner.
Lemma 3. Let be a double edge being the intersection of the mesh triangles and . Assume are polynomial maps and the lateral derivatives in are polynomial functions. Then the determinant equation admits a polynomial solution whenever .
Proof. Omitting the indices m without danger of confusion, let us write for the components of the polynomial vector function and let . Assume that for some polynomial .
Observe that due to hypothesis
on the vectors
, we have
Proof by contradiction: The relation would imply whence . This is impossible since, by supposing , we would have for some scalar which would mean that the intersection of the triangles would be a nondegenerate triangle. We conclude by arguing with the index change .
Consider the case
i.e.,
for some polynomial
. On the other hand, since
, we can write
with the polynomial function with components
. By
, we have
and hence we get the identity
According to
F1, we see that necessarily
that is
. According to
F2, there are polynomials
such that
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 or , the map in Theorem 1 applied with polynomial edge corrections such that
is a parametrized G1-spline surface passing through the mesh points with the lateral derivatives along mesh edges, which consists of polynomial submaps .
Algorithm 1. Representation of with a polynomial RSD tuple
Require: for the number of mesh vertices, triangles resp. double edges;
the index functions of the mesh structure in (3), (4), (5), (6), (7);
for mesh vertices, data values resp. data vectors in ;
polynomial RSD shape functions , .
Ensure: List of functions representing subfunctions
in the form
in terms of the local barycentric parametrization in (29) of triangle .
Calculation: With auxiliary storages
for polynomial maps ;
for polynomial functions.
STEP 1: Compute and store the basic approximations
,
Substitutions in each ;
STEP 2: For , compute and save the edge correction functions
.
STEP 3: Using Algorithm 2, compute and save the GCD cofactors of the
components of
.
OUTPUT1: The subfunctions in storages in terms of extended weights
computed consecutively along the double edges
with corrections corresponding to
in Lemma 2:
;
,
;
OUTPUT2: The subfunctions in storages in terms of local weights
with substitution .