1. Introduction
Multivariate splines over tensor-product spaces are one of the most popular tools for the representation of free-form surfaces in computer-aided design (CAD) [
1]. More recently, these splines have also been applied for the discretization of partial differential equations in isogeometric analysis (IGA) [
2], which uses the same class of functions to describe an object’s geometry and to represent the fields describing physical phenomena to bridge the gap between CAD and computer-aided engineering (CAE). However, the disadvantage of using tensor product splines is that when a knot is inserted, the resulting knot line crosses the whole domain, thus eliminating the possibility of performing local refinement. Because refining the entire mesh leads to a large number of superfluous control points or coefficients, locally refinable multivariate splines have become a popular research topic for design and analysis. In recent years, several locally refinable splines have been widely used in practical problems, such as T-splines, hierarchical B-splines (HB-splines) and truncated hierarchical B-splines (THB-splines), Locally refined B-splines (LR-splines) and polynomial splines over hierarchical T-meshes (PHT-splines) are attractive. We will give a literature review of these splines as follows.
T-splines have overcome the difficulty of local refinement by producing surfaces from control meshes that allow T-junctions [
3,
4]. T-splines’ potential in IGA has been reported in [
5,
6]. To ensure linear independence, which is a crucial need for using T-splines in analysis, additional constraints are proposed in [
7,
8]. Late developments have led to the development of a novel type of spline known as analysis-suitable++ T-splines (AS++ T-splines), which incorporate analysis-suitable T-splines (AS T-splines) as a special instance [
9].
HB-splines offer a traditional method for obtaining local refinement in geometric modeling [
10]. It has been stated that HB-splines can be applied in geometric modeling and isogeometric analysis [
11,
12,
13,
14]. As a modification of HB-splines, THB-splines have been proposed for defining locally supported basis functions that hold the partition of unity property [
15,
16]. THB-splines have been an excellent choice for use in a variety of applications, including isogeometric analysis, computer-aided design, and geometric modeling [
16,
17,
18,
19].
Locally refined splines (LR splines) can span the complete piecewise polynomial space on the LR mesh and form a nonnegative partition of unity [
20]. The LR mesh breaks the tensor-product mesh structure. LR splines in 2D can be constructed in a hierarchical manner [
21], and additional properties of LR splines have been discussed in more detail in [
22].
PHT splines, which are the bicubic splines over hierarchical T-meshes with
continuity, produce nested spline spaces by using a modification mechanism [
23]. Works on PHT splines discuss the splines from the perspective of spline spaces, provide the dimension formula [
23] and offer the basis construction framework of PHT-splines [
24]. Therefore, PHT splines ensure properties such as nonnegativity, partition of unity, linear independence, and completeness. With regard to these excellent properties, PHT splines have been effective in a variety of applications, including the reconstruction of surface models [
24,
25,
26], the adaptive finite element method for solving elliptic equations [
27], and the isogeometric analysis of elastic problem solving [
28,
29,
30]. Additionally, the PHT splines have been modified as modified PHT splines (MPHT-splines) [
30,
31]. The construction of PHT splines is made easier by a succinct topological interpretation of the dimensional formula. To do this, [
32] introduces the proper crossing vertex relationship graph (CVR graph) and provides a concise topological explanation for the dimension formula of PHT splines. By the CVR graph, the biquadratic and bicubic polynomial basis functions of splines over hierarchical T-meshes have been constructed in [
33,
34], respectively, and they performed well in the application for geometric modeling and IGA. Unfortunately, the level difference for the hierarchical T-meshes in [
33,
34] cannot be greater than one. To overcome this restriction, a novel bijective mapping between the biquadratic polynomial spline spaces over the hierarchical T-mesh and the piecewise constant space over the corresponding CVR graph has been proposed in [
35]. The bijective mapping offers a succinct topological explanation for the dimension formula of the biquadratic polynomial spline spaces over hierarchical T-meshes and provides a new manner for the basis construction of the biquadratic polynomial spline spaces over hierarchical T-meshes. The basis functions, which are constructed by the space mapping method, are linearly independent, form a partition of unity, and are suitable for CAD [
35].
In PHT spline theory, one of the most significant operations is known as the local refinement of PHT spline. Splines that are defined on hierarchical T-meshes allow for the possibility of local refinement. This is because hierarchical T-meshes have a naturally level structure. However, for biquadratic polynomial spline spaces over hierarchical T-meshes, there are numerous redundant edges on the hierarchical T-meshes. In this paper, we give some subdivision rules on the modified hierarchical T-meshes, which are split in half in the mesh-refining process. This is done to prevent the redundant edges that exist on hierarchical T-meshes. In [
35], we have used the space mapping method to give the basis construction of the biquadratic polynomial spline space over hierarchical T-meshes. However, for each level space over the hierarchical T-mesh, all of the basis functions need to be reconstructed when their partially supported cells are subdivided. This takes a significant amount of time. In this paper, we provide a unique basis construction framework that incorporates basis modification of the biquadratic polynomial spline space over modified hierarchical T-meshes. This framework is developed by utilizing the work that we have done in [
35].
We organize the remainder of the paper as follows. In
Section 2, we review some essential conceptions related to hierarchical T-meshes, modified hierarchical T-meshes and spline spaces. In
Section 3, we describe the space-mapping method for spline spaces over modified hierarchical T-meshes. For the spline spaces over the modified hierarchical T-meshes, we give the basis construction framework that allows modification in
Section 4, and the corresponding algorithms are also provided. We give the numerical examples to fit several open surface models in
Section 5. In
Section 6, our paper closes with some concluding remarks.
2. Preliminaries
In this section, we will recall some preliminary knowledge that is useful for our method, such as notations on T-meshes, modified hierarchical T-meshes, and spline space over T-meshes, and so on.
2.1. T-Meshes
For the T-mesh
, the definitions of vertices, edges, and cells are the same as that in [
23]. We use
Figure 1 to illustrate the corresponding notations as follows.
We refer to a grid point in as a vertex of . A vertex is referred to as a boundary vertex if it occupies the boundary grid line of ; otherwise, it is referred to as an interior vertex. For example, the blue square vertices denote boundary vertices, the green square vertices, and the green triangular vertices denote interior vertices. For the interior vertices, if the valence of an interior vertex is four, it is referred to as a crossing vertex; if the valence of an interior vertex is three, it is referred to as a T-junction. For example, the green square vertices denote crossing vertices, and the green triangular vertices denote T-junctions.
We refer to the line segment that connects two adjacent vertices on one grid line as an edge of
. An edge is referred to as a boundary edge if it occupies on the boundary of
; otherwise, it is referred to as an interior edge. For example,
denotes a boundary edge,
denotes an interior edge. We refer to the edge as an l-edge if it is the longest possible line segment and its endpoints are either boundary vertices or T-junctions. For example,
and
denote l-edges. We refer to the interior l-edge as a T-l edge [
36] if its two endpoints are both T-junctions; for example, the red segment
denotes a T-l-edge. Additionally, we refer to an edge as a c-edge if it is the longest possible line segment and its inner vertices are all T-junctions; for example,
denotes a c-edge.
We refer to each rectangular grid element as a cell of . A cell is referred to as an interior cell if all its edges are interior edges; otherwise, it is referred to as a boundary cell. For example, the gray cell denotes an interior cell, and the yellow cell denotes a boundary cell.
2.2. Modified Hierarchical T-Meshes
The modified hierarchical T-meshes can be defined in a recursive manner [
31], which is similar to the hierarchical T-meshes in [
24].
denotes the mesh at level
k,
denotes the set consist of all the cells at level
k, and the set consists of the cells that are chosen to be subdivided, denoted as
, and
.
Start with a tensor product mesh .
Recursive steps: Subdivide each cell in into equal subcells or two equal subcells to obtain a new T-mesh denotes the set that consists of all current cells that emerge at level after subdivision.
.
Figure 2 illustrates the refinement process of a modified hierarchical T-mesh dynamically.
2.3. Spline Spaces over T-Meshes
Given a T-mesh
, all of the cells in
are denoted as
, and the region occupied by the cells in
is denoted as
. The spline spaces can be defined as [
23]
Here, denotes the polynomial space with bi-degree , and denotes the space consisting of all of the bivariate functions. These functions are order-continuous in the x-direction and order-continuous in the y-direction on . Obviously, should be a linear space.
In [
32], the spline spaces over
with homogeneous boundary conditions corresponding to
have been defined as
As the extended T-mesh [
32] will play an important role in our study, we repeat the definition of the extended T-mesh as follows.
Definition 1. For the T-meshassociated with, the extended T-mesh can be generated in the following manner.
- 1.
Add m edges to the horizontal boundaries in an average manner; add n edges to the vertical boundaries in an average manner.
- 2.
Connect the boundary vertices onto the outer layer edges.
We denote the extended T-mesh of associated with as for convenience.
Figure 3 shows a T-mesh
, and its extended T-mesh
that associates with
. Ref. [
32] gives Theorem 1 to illustrate that the spline space
is related to
closely.
Theorem 1 ([
32])
. Given a T-mesh , denotes the extended T-mesh associated with , and Ω denotes the region occupied by all cells of . Then, In this paper, we will discuss the subdivision rules and the basis modification framework of instead of , and then use Theorem 1 to obtain the corresponding results of .
3. The Space Mapping Method over the Modified Hierarchical T-Meshes
The space mapping method has been proposed in [
35], which gives the conclusion that the biquadratic polynomial spline spaces over the hierarchical T-mesh is isomorphic to the piecewise constant space over the corresponding CVR graph. The bijective mapping in [
35] has been used to provide a basis construction method for biquadratic polynomial spline spaces over hierarchical T-meshes. In this part, we discuss the space-mapping method over the modified hierarchical T-meshes as follows.
3.1. CVR Graph of Modified Hierarchical T-Meshes
Because the CVR graph [
32,
35] is critical in the space-mapping method, it can be defined in a similar manner to that of modified hierarchical T-meshes as follows.
Definition 2 ([
32,
35])
. Given a modified hierarchical T-mesh ,
the CVR graph of can be constructed in the following manner.- 1.
Retain the crossing vertices and the line segments with two endpoints that are crossing vertices.
- 2.
Remove the other edges and vertices from.
We denote the CVR graph of as for convenience.
Figure 4 shows an example of a CVR graph. The hierarchical T-mesh can be generated by adding some T-l edges to a modified hierarchical T-mesh, and a T-l edge on hierarchical T-mesh decays to a point on the corresponding CVR graph. Similar to [
35], the notations of modified hierarchical T-meshes and the corresponding CVR graph can be defined in
Table 1.
For example, in
Figure 4a,
we denote P-cells. The P-g cell
in
Figure 4b corresponds to
in
Figure 4a, the P-g-cell
in
Figure 4b corresponds to
in
Figure 4a, and the P-g-cell
in
Figure 4b corresponds to
in
Figure 4a.
in
Figure 4a denote T-cells. The T-connection that consists of
, and
is denoted as
, the minimal domain that occupies on
is the T-connection domain of
, in
Figure 4a. The domain surrounded by the red line is denoted as the T-rectangle domain of
, which is denoted as
.
denotes the one-neighbor cell of
, the level of
is also the level of
, and the T-g-cell
in
Figure 4b corresponds to the T-connection domain of
. The T-connection that consists of
, and
is denoted as
, and the minimal domain that occupies
is the T-connection domain of
. In
Figure 4a, the domain surrounded by the blue square is denoted as the T-rectangle domain of
.
denotes the one-neighbor cell of
, the level of
is also the level of
, and the T-g-cell
in
Figure 4b corresponds to the T-connection domain of
.
3.2. The Isomorphic Property
In [
36,
37], the dimensions of T-l edges are proposed as follows.
Theorem 2. For a T-l edge , if E only contains interior crossing vertices, then,holds for . In particular, for the
, if
, then
, and the trivial l-edges [
36,
37] can be defined as follows.
Definition 3 ([
35])
. If there exists only one crossing vertex on the T-l edge , E is defined as a trivial l-edge associated with . For the hierarchical T-mesh
,
denotes the CVR graph of
, there exists a bijective mapping between
and
, and the two spaces are isomorphic [
35]:
For a modified hierarchical T-mesh,
denotes the subdivided cells whose levels are
k first, for each cell
, there are three different subdivision types that tend to choose [
31].
If is subdivided into two equal, vertically adjacent subcells, the subdivision type of is denoted as V.
If is subdivided into two equal, horizontally adjacent subcells, the subdivision type of is denoted as H.
If is subdivided into equal subcells, the subdivision type of is denoted as C.
To avoid the trivial l-edges, we can consider our subdivision rules on a modified hierarchical T-mesh as follows.
3.3. Mesh Refinement Rules
Because the subdivision scheme for modified hierarchical T-meshes can avoid the trivial l-edges that appear in hierarchical T-meshes, in this section we give our mesh refinement rules for modified hierarchical T-meshes.
To make use of the subdivision scheme of the modified hierarchical T-meshes, we use
Figure 5 to illustrate the mesh refinement rules on a part of modified hierarchical T-mesh
.
In
Figure 5a, for
,
are the cells around
. The refinement rules on
can be discussed as follows.
If
and the subdivision type of
is C or V, then the subdivision type of
is V.
Figure 5b shows the refinement example.
If and the subdivision type of is C or V, , then the subdivision type of is V.
If and , the subdivision type of is C or H, the subdivision type of is C or V, and then the subdivision type of is C.
If the position of is changed, the refinement rules on can be obtained similarly.
As a modified hierarchical T-mesh can be converted to a hierarchical T-mesh by adding corresponding trivial l-edges, we give Lemma 1 to illustrate the effection of trivial l-edges on the CVR graph.
Lemma 1. Assume that is a hierarchical T-mesh, denotes the CVR graph of , the trivial l-edges of corresponds to the vertex that is on the hanging edges of .
Proof of Lemma 1. We use proof by contradiction to prove this lemma. Suppose that E is an arbitrary trivial l-edge in , E corresponds to the vertex V in , the edge which V occupies on is denoted as L. We assume that L is not the hanging edge of , and then v occupies the edge of a g-cell of . Then, there are at least two crossing vertices on E. As E is a trivial l-edge of , for the spline space , E only contains one interior crossing vertex, this contradicts the assumption. Thus, L is a hanging edge of . The lemma is proven. □
For each trivial l-edge
, as
,
E is useless for
, from Lemma 1,
E corresponds to a vertex on the hanging edge of
. We can conclude similarly as in Equation (
6) via the relationship between the CVR graph of the hierarchical T-mesh and the CVR graph of its corresponding modified hierarchical T-mesh. Our study continues here, and we can give the proof as follows.
Theorem 3. Given a modified hierarchical T-mesh , assume that is the corresponding CVR graph of , then, Proof of Theorem 3. Assume that
is denoted as the hierarchical T-mesh and corresponds to
by adding the trivial l-edges
,
is denoted as the CVR graph of
. Then,
and each basis function of
corresponds to a basis function of
[
35]. For each trivial l-edge
,
; thus, each basis function of
is the same with the corresponding basis function of
. From Lemma 1,
E corresponds to the vertex that is on the hanging edges of
, in other words, the cells of
are the same with the cells of
, and each basis function of
is the same with the corresponding basis function of
. Thus, each basis function of
corresponds to a basis function of
,
The theorem is proven. □
From Theorem 3, we conclude that the trivial l-edges do not contribute anything useful to the mapping; hence, the bijective mapping can be described similar to that of [
35] in the following manner.
For convenience, we denote as in the following part of this paper.
3.4. The Mapping
Definition 4 ([
35])
. Given , and is a rectangular domain. Let , can be expressed aswhere and are Bernstein polynomials, we obtainA mapping functional ϕ can be defined as Here, denotes the piecewise constant function with value on .
Given
,
denotes the support of
, we recall the notations and abbreviations in
Table 1 as follows:
denotes a P-cell of
,
denotes the P-domain of
,
denotes the P-g cell that corresponds to
in
,
denotes a T-connection of
,
denotes the T-rectangle domain of
, and
denotes the T-g cell corresponding to
in
. The mapping between
and
can be defined in the following manner.
Definition 5 ([
35])
. The mapping between and can be defined aswhere , denotes the representation of on , , and denotes the representation of on , and corresponds to , denotes the representation of on the one-neighbor cell of , and denotes the representation of on , and corresponds to . To illustrate the mapping, we give an example from to as follows.
Example 1. We present the mapping example for both P-g cells and T-g cells separately because the CVR graph only contains the two types of cells.
For in Figure 6a, the B-ordinates on the cells belong to the support of is shown in Figure 6b. In Figure 6c, occupies on is denoted as respectively. is a P-cell in , denotes the P-domain of . The T-connection is constituted of . denotes the T-rectangle domain of . As the P-g cell in Figure 6d corresponds to the P-cell in Figure 6c, from Definition 5, we obtain As the T-g cell in Figure 6d corresponds to the T-connection domain of in Figure 6c and is the one-neighbor cell of , from Definition 5, we obtain Similarly, we can obtain the mapping results for the other cells on the support of . Figure 6d shows the whole mapping result. 3.5. The Inverse Mapping (Basis Function Construction Process)
From Theorem 3, we can construct the basis function by the basis construction process in [
35].
denotes the modified hierarchical T-mesh at level k, and
denotes the CVR graph of
. We describe the construction process of a basis function
as follows.
The inverse mapping is the process for constructing
, the tools for evaluating B-ordinates of each basis function of
are T-structures; we recall T-structures in [
35] as follows.
In
Figure 7, the c-edge
and the cells
constitute a T-structure, which is denoted as
.
denotes the mid-edge of
.
denote the interior vertices of
.
and
denote the endpoints of
.
denotes the mother cell of
.
denote the subcells of
.
denotes the mother cell of
, and the level of
is also the level of
. Additionally,
should be a horizontal T-structure.
For the modified hierarchical T-mesh
, a T-structure, which is denoted as
, consists of one c-edge
and all the cells that have at least one common vertex with
. The interior structure of
is shown in
Figure 7. If there is one common interior vertex of a horizontal T-structure
and the other vertical T-structure
, we call
and
connected. A T-structure branch, which is denoted as
, consists of the union that every two T-structures are connected. The level of
is the minimal level of all the T-structures in
.
From the notations of T-structures and T-structure branches above, several algorithms in [
35] are given to evaluate the B-ordinates for the T-cells of the T-connections, we recall the algorithms as follows.
Algorithm 1 illustrates the pattern to order the T-structures in a T-structure branch, Algorithm 2 describes the detailed procedures for using T-structures to calculate the B-ordinates of a T-connection. By Algorithms 1 and 2, we can give Algorithm 3 to calculate the B-ordinates for a basis function
. This is different from the method of searching the domain that supports a basis function in [
35]. We can choose the support of a basis function
as the domain that is supports
directly.
Algorithm 1: Ordering the T-structures for each T-structure-Branch of [35]. |
|
Algorithm 2: Evaluating the B-ordinates for each T-cell in [35]. |
|
Algorithm 3: Calculating the B-ordinates for . |
|
Figure 8 shows the construction process for
. The basis construction process can be summarized as follows.
Weights initialization for :
Given the basis function
as
by Equation (
11), the weight on the domain center can be initialized as
where
denotes the domain center of
on
.
Obtain the domain covers .
As the basis cell of each basis function at level is a part of the basis cell that belongs to a basis function at level k, the support of is covered by a basis function , we adopt the support of as .
B-ordinates Calculation.
- (a)
Obtain the T-structure-branches corresponding to .
Obviously,
is referred to as the union of two different types of components: P-cells and T-connections. The center B-ordinate for each P-cell are obtained by Equation (
12) directly. Assume there are n T-connections in
, and they are
, the T-structure-branch that covers
is denoted as
.
- (b)
Order the T-structure branches.
The center B-ordinate for each cell belongs to E can be evaluated by this T-structure branches as follows. First, we sort the T-structures in each T-structure branch by Algorithm 1, and then sort all of the T-structure branches in descending level order.
- (c)
Evaluate the B-ordinates of via T-structures.
First, we adopt Algorithm 3 for calculating the center B-ordinates on T-cells of each T-connection, and then we evaluate the B-ordinates on the rest edges that are not obtained via the continuous conditions.
Save the B-ordinates in .
If there exists nonzero B-ordinates in , then save the B-ordinates on into .
We give an example to show the process for calculating the B-ordinates for a basis function . We illustrate the above process as follows.
Example 2. - 1.
Weights initialization for.
Figure 9a shows a part of hierarchical T-mesh.Figure 9b shows the corresponding part of its CVR graph. For,
the weights ofare initialized by Equation (
12),
we show the initialized weights in Figure 9b.
- 2.
Obtain the domaincovers.
We focus our attention on the part of the mesh that is shown inFigure 9b
because the support of the basis function on the cells inFigure 9b
covers.
- 3.
B-ordinates Calculation.
- (a)
Obtain the T-structure branches corresponding to.
InFigure 10,
there are three T-structure branches:.
is constituted of,
and.
is constituted of,
and.
is constituted of,
and.
corresponds to the T-structure branch.
,
which is the blue structure inFigure 10,
is constituted of(the c-edgeand cells adjacent to)
and (
the c-edge and cells adjacent to );
,
which is the yellow structure in Figure 10,
is constituted of (
the c-edge and cells adjacent to ),
and (
the c-edge and cells adjacent to ).
,
which is the green structure in Figure 10,
is constituted of (
the c-edge and cells adjacent to )
and (
the c-edge and cells adjacent to ).
- (b)
Order the T-structure branches. The level ofis lower than the level of. Thus, we can order the T-structures inas. Similarly, the T-structures incan be ordered as, the T-structures incan be ordered as.
- (c)
Evalute the B-ordinates ofvia T-structures.Figure 11shows the process of using the T-structure-branches that are ordered inFigure 3b
to calculate B-ordinates of.
Figure 12shows the rest B-ordinates obtained by thecontinuous conditions.
- 4.
Save the B-ordinates of. The support ofis the cells without the top left cell.
For the basis function whose basis cell is a P-cell, we give the construction method above.
5. Fitting Open Meshes
Surface fitting is an essential method in the field of CAD. In this section, we use several triangular surface models to show the potential of splines generated by our method.
Given the open surface model
in 3D space,
is constituted of a series of triangles, the vertices on
are denoted as
, we parameterize
by using the parametrization method in [
38]. The parameter mesh is a triangle mesh. The parameter value corresponding to
is denoted as
, and the parameter domain is
. Additionally, the triangle on the parameterized mesh is denoted as
.
5.1. Calculation of Control Points
Different from the least square optimization method in [
24,
31], we adopt the domain centres for calculating the control points as follows.
Given the basis functions
, let
be the domain corresponding to basis cell of
, and
denotes the domain centre of
. We calculate the control points by solving the following linear system
Here, , , and can be evaluated by .
5.2. Process of Fitting
With the method of calculating control points, we run the loop of steps 2, steps 3, and steps 4, until the error reaches the given tolerance .
Given the tensor-product mesh .
For the old basis functions, we retain their control points; for the new basis functions of
, calculate their control points via
Section 5.1. The result modified spline space is denoted as
.
, if .
We use mesh-refinement rules in
Section 3.3 to denote the cells in
. We subdivide the mesh and modify the basis functions via Algorithm 5.
.
Figure 16,
Figure 17,
Figure 18 and
Figure 19 illustrate four examples, in which basis functions of spline space over hierarchical T-meshes and modified hierarchical T-meshes are shown. Both basis functions over the two types of meshes provide a good approximation of the original model. However, the number of subdivided cells over modified hierarchical T-meshes are lower than that over hierarchical T-meshes at the same level. The statistical data for comparison are listed in
Table 2. The comparisons for the solutions on hierarchical T-meshes and modified hierarchical T-meshes are provided in
Figure 20. The comparison shows that the solution on the modified hierarchical T-meshes can achieve similar accuracy with fewer subdivision cells.