bottleneck of T-splines in practical applications. Compared
with T-splines and hierarchical B-splines, PHT-splines are
only C
1
continuous. However, PHT splines have a set of ba-
sis functions, which is a necessity in some theoretical anal-
ysis and applications, while hierarchical B-splines have a
redundant set of ‘basis functions’. On the other hand, hier-
archical B-splines require a very special hierarchical T-
mesh structure due to their refinement scheme, while
PHT-splines work over arbitrary hierarchical T-meshes.
The remainder of the paper is organized as follows. In
Section 2, we introduce polynomial spline spaces over T-
meshes and the dimension formula proved in [2]. Section
3 describes in detail the construction of the basis functions
of a spline space over a hierarchical T-mesh. The properties
of the basis functions are discussed and PHT-spline sur-
faces are introduced. Section 4 presents two important
operations—cross insertion and removal in PHT-spline the-
ory. In Section 5, we propose a surface fitting scheme to fit
open and closed meshes of genus-zero with PHT-splines. In
Section 6, some geometry processing algorithms such as
shape conversion and shape simplification are discussed.
Section 7 concludes the paper with a summary and some
future work.
2. Polynomial splines over T-meshes
In this section, we briefly review the definition of T-
meshes, and then introduce polynomial spline spaces over
T-meshes. The dimension formula of the spline space is
given.
2.1. T-meshes
Given a rectangular domain, a T-mesh is a partition of
the domain and it is basically a rectangular grid that allows
T-junctions [2,21]. It is assumed that the end points of each
grid line in the T-mesh must be on two other grid lines, and
each cell or facet in the grid must be a rectangle. Fig. 3
shows an example of a T-mesh. A grid point in a T-mesh
is also called a vertex of the T-mesh. If a vertex is on the
boundary of the domain, then is called a boundary vertex.
Otherwise, it is called an interior vertex. For example, b
i
,
i ¼ 1; ...; 10, in Fig. 3 are boundary vertices, while all the
other vertices v
i
, i ¼ 1; ...; 5, are interior vertices. Interior
vertices have two types. One is crossing, for example, v
2
in Fig. 3; and the other is T-junctional, for example, v
1
in
Fig. 3. They are called crossing vertices and T-vertices,
respectively. The line segment connecting two adjacent
vertices on a grid line is called an edge of the T-mesh.
2.2. Hierarchical T-meshes
Instead of considering general T-meshes, we restrict our
attention to hierarchical T-meshes in the paper, since such
meshes do not lose the main property—adaptivity of gen-
eral T-meshes.
A hierarchical T-mesh is a special type of T-mesh which
has a natural level structure. It is defined in a recursive
fashion. One generally starts from a TP mesh (level 0).
From level k to level k þ 1, one subdivide a cell at level k
into four subcells which are cells at level k þ 1. For simplic-
ity, we subdivide each cell by connecting the middle points
of the opposite edges with two straight lines. Fig. 4 illus-
trates the process of generating a hierarchical T-mesh.
Hierarchical T-meshes have appeared in many research
disciplines in computer science, computational mathemat-
ics, and so on. For example, adaptive finite elements [25,
Chapter 15] and hierarchical B-splines [7] are defined over
hierarchical T-meshes.
2.3. Spline spaces over T-meshes
Given a T-mesh T, F denotes all the cells in T and X
the region occupied by all the cells in T. Define
Sðm; n; a; b; TÞ :¼fsðx; yÞ2C
a;b
ðXÞjsðx; yÞj
/
2 P
mn
for any / 2 Fg;
where P
mn
is the space of all the polynomials of bi-degree
ðm; nÞ, and C
a;b
ðXÞ is the space consisting of all the bivariate
functions which are continuous in X with order a along x
direction and with order b along y direction. It follows that
Sðm; n; a; b; TÞ is a linear space. It is called the spline space
over the given T-mesh T.
For a given T-mesh T, it is easy to see that T-splines (in
non-rational form) and hierarchial B-splines form a proper
subset of the spline space Sð3; 3; 2; 2; T
0
Þ in general, where
T
0
is a new T-mesh obtained by inserting some edges into
T. In this sense, the splines over a T-mesh are a generaliza-
tion of T-splines and hierarchical B-splines. This general-
ization makes full use of the current domain partition
and provides more flexibility in geometric modeling than
T-splines and hierarchical B-splines in practice.
Theorem 4.2 in [2] provides a dimension formula for the
spline space Sðm; n; a; b; TÞ for m P 2a þ 1 and
n P 2b þ 1. Specifically, we have
dimSð3; 3; 1; 1; TÞ¼4ðV
b
þ V
þ
Þ; ð1Þ
where V
b
and V
þ
represent the number of boundary verti-
ces and interior crossing vertices, respectively. The current
paper focuses on the spline space Sð3; 3; 1; 1; TÞ for a hier-
archical T-mesh T, though the results are also valid over
general spline spaces Sð2a þ 1; 2b þ 1; a; b; TÞ for a, b P 1.
The dimension formula gives us a hint on how to con-
struct basis functions for the spline space, i.e., each bound-
ary vertex or interior crossing vertex associates with four
basis functions. This observation will be further explored
in the construction of the basis functions in the next
Fig. 3. An example of a T-mesh.
78 J. Deng et al. / Graphical Models 70 (2008) 76–86