Keywords

1 Introduction

Blending is a basic technique in computer aided geometric design (CAGD) for aesthetic, strength, safety, manufacturing and functional purposes. Polyhedra are commonly selected as the initial models to blend. According to the analytical forms of resulting blending surfaces, the relevant methods can be classified into implicit and parametric. In implicit forms, algebraic surfaces [1,2,3] and functional splines [4] are often used. In general, however, the parametric forms are more popular with engineers. For example, it is easy to determine points, curves and trimmed patches on a parametric surface.

The traditional parametric methods always blended the edges first by use of the rolling ball technique [5]. Many researchers focused on the vertex blending, which was transformed into hole-filling problems after edge blending. Some of them used a whole multisided patch [6, 7]. Loop and DeRose [8] developed a kind of multisided Bézier surfaces, called S-patches. Later, they made use of S-patches to blend the vertices [9]. Zhou and Qian [10] applied the rational S-patches to setback vertex blending. The others paid attention to stitching several rectangular topology patches [11,12,13,14]. Piegl and Tiller [15] filled n-sided holes with B-spline boundaries in user-specified tolerance. Moreover, Yang et al. [16] extended their method to rational form.

The blending processes of the above edge-first parametric methods often become complicated because of continuity conditions with edge blending surfaces and twist compatibility problems, especially when the vertex gathers more edges. Moreover, achieving higher continuity is difficult, because the vertex blending surface is required to contact continuously with the constructed edge blending surfaces, rather than the primary planar faces. In [17], a vertex-first blending strategy is proposed, simplifying the blending process. In addition, this vertex-first parametric algorithm could get the higher order blending surfaces. Figure 1 shows the processes of two different blending strategies for a tetrahedron. Nevertheless, as a polyhedron ordinarily involves many vertices, handling them one by one [17] is time consuming. Fortunately we found a ubiquitous phenomenon that there are miscellaneous edge clusters on the polyhedron, which can be blended as a whole. An edge cluster means a series of polyhedral edges connected together by polyhedral vertices. Sometimes an edge is so short that the two vertices linked by it can not be blended separately. Figure 2 shows some edge clusters lying on polyhedra, where the number of edges of an edge cluster refers to the open edges. For example, the open edges in Fig. 2(b) are \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \), \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{2} }} \), \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{3} }} \), \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{4} }} \), \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{5} }} \), while the open edges in Fig. 2(d) are \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \), \( \overline{{{\mathbf{v}}_{5} {\mathbf{a}}_{2} }} \), \( \overline{{{\mathbf{v}}_{5} {\mathbf{a}}_{3} }} \), \( \overline{{{\mathbf{v}}_{4} {\mathbf{a}}_{4} }} \), \( \overline{{{\mathbf{v}}_{3} {\mathbf{a}}_{5} }} \), \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{6} }} \), \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{7} }} \). Note that, developed by Krasauskas [18], toric surface patches are another important multisided Bézier surfaces which contain triangular Bézier (briefly TB) and tensor product Bézier (briefly TPB) surfaces. However, for the sake of multivariate de Casteljau algorithm, we prefer to blend the edge clusters using the S-patches.

Fig. 1.
figure 1

The blending processes of edge-first and vertex-first methods.

Fig. 2.
figure 2

Edge clusters on polyhedra.

This paper deals with the edge cluster blending, aiming to find a blending surface smoothing the vertices and edges of an m-edge cluster on a polyhedron and having Gg-contact with m surrounding planar faces. Especially, we apply a single TPB surface for 4-edge clusters and an m-sided Bézier surface for m-edge clusters (m > 4). Compared with the vertex-first method, the main advantage of edge cluster blending lies in: repeated vertex and edge blending operations for an m-edge cluster can be replaced by only one edge cluster blending. Figure 3 illustrates a 7-edge cluster blending (Fig. 3(b)) instead of five vertex blending and four edge blending operations (Fig. 3(a)). Moreover, the varieties of edge clusters increase with the number of edges steeply.

Fig. 3.
figure 3

Blending a 7-edge cluster.

In what follows, Sect. 2 recalls some basic properties of TPB surfaces and multisided Bézier surfaces. The 4-edge cluster blending is discussed in Sect. 3. Section 4 gives different configurations in 5-edge and 6-edge clusters, and deduces the Gg edge cluster blending condition of m-sided Bézier surfaces of degree n. Section 5 analyzes how to select edge clusters on a polyhedron and how to settle the free control points for adjusting the blend shape. These two problems are explained in detail through a practical examples — a blood pressure meter. Finally, a flower pot and a door knob are blended by the proposed method.

2 Preliminaries

From now on, if an index ranges from 1 to m, then m + 1 should be replaced by 1 and 0 by m.

2.1 TPB Surfaces

A TPB surface of degree (n1, n2) can be expressed by

$$ {\mathbf{b}}(u,v) = \sum\limits_{i = 0}^{{n_{1} }} {\sum\limits_{j = 0}^{{n_{2} }} {{\mathbf{b}}_{i,j} B_{i}^{{n_{1} }} } } (u)B_{j}^{{n_{2} }} (v),\,u,v \in [0,1] $$
(1)

where \( B_{i}^{{n_{1} }} (u) \) and \( B_{j}^{{n_{2} }} (v) \) are the univariate Bernstein polynomials, and \( {\mathbf{b}}_{i,j} \) are the Bézier control points. Without loss of generality, we assume n1 ≥ n2. The control point sets \( F_{k} \), \( k = 1,2,3,4 \) shown in Fig. 4 are defined as

Fig. 4.
figure 4

Schematic control points for TPB surfaces.

$$ \begin{aligned} & F_{1} = \{ {\mathbf{b}}_{i,j} |0 \le i \le n_{1} ,0 \le j \le g\} ,\,F_{2} = \{ {\mathbf{b}}_{i,j} |n_{1} - g \le i \le n_{1} ,0 \le j \le n_{2} \} , \\ & F_{3} = \{ {\mathbf{b}}_{i,j} |0 \le i \le n_{1} ,n_{2} - g \le j \le n_{2} \} ,\,F_{4} = \{ {\mathbf{b}}_{i,j} |0 \le i \le g,0 \le j \le n_{2} \} , \\ & \quad \quad \quad \quad \quad \quad \quad {\text{and}}\;E_{k} = F_{k - 1} \cap F_{k} ,\,k = 1,2,3,4. \\ \end{aligned} $$

Remark 1.

Control points are the root of TPB and S-patches. As a matter of fact, their illustration may have two versions: one is irrelevant to their coordinates and the other has real geometric sense. The former control points compose a schema like knots in a regular polygonal net (Figs. 4 and 7), so that their indices can be specified in good order to guide the generation of a patch mentioned above. Determined by the boundary number and surface degree, the schema has nothing to do with the shape of the edge cluster. The latter control points show their positions in a 3-D space, maybe accompanying the generated patch (Figs. 5 and 8). For distinguishing we call them schematic and positional control points respectively.

Fig. 5.
figure 5

A TPB surface of degree (3, 3) contacts with a plane G2-continuously.

Lemma 1.

If the positional control points corresponding to \( F_{1} \) (resp. \( F_{2} \), \( F_{3} \), \( F_{4} \)) fall on a plane, then \( {\mathbf{b}}(u,v) \) will have Gg-contact with the plane along \( v = 0 \) (resp. \( u = 1 \), \( v = 1 \), \( u = 0 \)) (see Theorem 2 in [17]).

Figure 5 shows a TPB surface of degree (3, 3) having G2-contact with a plane n along \( v = 0 \) when its control points corresponding to \( F_{1} = \{ {\mathbf{b}}_{i,j} |0 \le i \le 3,0 \le j \le 2\} \) fall on the plane n.

2.2 Multisided Bézier Surfaces

The regular S-patch, often called multisided Bézier surfaces, was first defined by Loop and DeRose [8] on the affine image of a regular polygon.

Figure 6 shows an m-sided Bézier surface of degree n defined on P, and the symbol \( {\mathbf{e}}_{k} \) denotes a multi-index whose components are all zero except for the kth component which is one. A regular S-patch can be formulated as [8]:

$$ {\mathbf{S}}(p) = {\mathbf{B}} \circ L(p) = \sum\limits_{{|{\mathbf{i}}| = n}} {{\mathbf{b}}_{{\mathbf{i}}} B_{{\mathbf{i}}}^{n} (l_{1} (p), \ldots ,l_{m} (p))} ,p \in P $$
(2)

which is the composition of an embedding L and a Bézier simplex B, where \( L:P \to\Omega \), and \( \Omega = \{ v_{1} , \ldots ,v_{m} \} \) is a simplex of dimension \( m - 1 \). \( {\mathbf{B}}:\Omega \to {\mathbf{\mathbb{R}}}^{3} \) is given by

$$ {\mathbf{B}}({\mathbf{u}}) = \sum\limits_{{|{\mathbf{i}}| = n}} {{\mathbf{b}}_{{\mathbf{i}}} B_{{\mathbf{i}}}^{n} ({\mathbf{u}})} = \sum\limits_{{|{\mathbf{i}}| = n}} {{\mathbf{b}}_{{\mathbf{i}}} B_{{\mathbf{i}}}^{n} (u_{1} , \ldots ,u_{m} )} ,\,{\mathbf{u}} \in\Omega $$
(3)

where \( {\mathbf{u}} = (u_{1} , \ldots ,u_{m} ) \) and \( \sum\nolimits_{k = 1}^{m} {u_{k} = 1} \). Besides, \( u_{1} , \ldots ,u_{m} \) are the barycentric coordinates of u with respect to \( \Omega \). \( {\mathbf{i}} = (i_{1} , \ldots ,i_{m} ) = \sum\nolimits_{k = 1}^{m} {i_{k} {\mathbf{e}}_{k} } \), and its components are nonnegative integers. \( |{\mathbf{i}}| = n \) denotes \( \sum\nolimits_{k = 1}^{m} {i_{k} = n} \). \( {\mathbf{b}}_{{\mathbf{i}}} \in {\mathbb{R}}^{3} \) are the control points.

$$ B_{{\mathbf{i}}}^{n} ({\mathbf{u}}) = B_{{\mathbf{i}}}^{n} (u_{1} , \ldots ,u_{m} ) = \left( {\begin{array}{*{20}c} n \\ {\mathbf{i}} \\ \end{array} } \right)u_{1}^{{i_{1} }} \cdots u_{m}^{{i_{m} }} $$
(4)

are the (\( m - 1 \))-variate Bernstein polynomials of degree n, where \( \left( {\begin{array}{*{20}c} n \\ {\mathbf{i}} \\ \end{array} } \right) = \frac{n!}{{i_{1} ! \cdots i_{m} !}} \).

Fig. 6.
figure 6

An m-sided Bézier surfaces of degree n defined on a regular polygon P.

Thus,

$$ B_{{\mathbf{i}}}^{n} (l_{1} (p), \ldots ,l_{m} (p)) = \left( {\begin{array}{*{20}c} n \\ {\mathbf{i}} \\ \end{array} } \right)l_{1} (p)^{{i_{1} }} \cdots l_{m} (p)^{{i_{m} }} , $$
(5)

where \( l_{k} (p) \), \( k = 1, \ldots ,m \) are rational functions that partition unity. They mean

$$ l_{k} (p) = \frac{{\pi_{k} (p)}}{{\pi_{1} (p) + \cdots + \pi_{m} (p)}},\,k = 1, \ldots ,m,\,\sum\limits_{k = 1}^{m} {l_{k} (p) = 1} , $$
(6)

where \( \pi_{k} (p) = \sigma_{1} (p) \cdots \sigma_{k - 2} (p)\sigma_{k + 1} (p) \cdots \sigma_{m} (p) \). As shown in Fig. 6, \( \sigma_{k} (p) \) denotes the signed area of the triangle \( pp_{k} p_{k + 1} \), which is positive when p is inside P.

Figure 7 illustrates the schematic control point sets \( F_{k} \), \( k = 1, \ldots ,m \) of the m-sided Bézier surface \( {\mathbf{S}}(p) \). They are defined as

Fig. 7.
figure 7

Schematic control points for m-sided Bézier surfaces.

$$ \begin{aligned} & F_{k} = \{ {\mathbf{b}}_{{\mathbf{i}}} |{\mathbf{i}} = {\mathbf{i}}_{0} + {\mathbf{e}}_{{k_{1} }} + \cdots + {\mathbf{e}}_{{k_{g} }} ,{\mathbf{i}}_{0} = (0, \ldots ,0,i_{k} ,i_{k + 1} ,0, \ldots ,0), \\ & \quad \quad \quad \quad |{\mathbf{i}}_{0} | = n - g,{\text{and }}k_{1} , \ldots ,k_{g} = 1, \ldots ,m\} \\ & \quad \quad \quad \quad {\text{and}}\;E_{k} = F_{k - 1} \cap F_{k} ,\,k = 1, \ldots ,m. \\ \end{aligned} $$
(7)

Lemma 2.

If the positional control points corresponding to \( F_{k} \) fall on a plane, then \( {\mathbf{S}}(p) \) will have Gg-contact with the plane along \( l_{k} (p) + l_{k + 1} (p) = 1 \) (see Theorem 3 in [17]).

When m = 5, n = 2, and g = 1, for example, from Eq. (7), we have

$$ \begin{aligned} F_{1} = \{ {\mathbf{b}}_{{\mathbf{i}}} |{\mathbf{i}} = {\mathbf{i}}_{0} + {\mathbf{e}}_{{k_{1} }} , \, {\mathbf{i}}_{0} = (i_{1} ,i_{2} ,0,0,0),|{\mathbf{i}}_{0} | = i_{1} + i_{2} = 1\,{\text{and }}k_{1} = 1, \ldots ,5\} \hfill \\ = \{ {\mathbf{b}}_{20000} ,{\mathbf{b}}_{11000} ,{\mathbf{b}}_{10100} ,{\mathbf{b}}_{10010} ,{\mathbf{b}}_{10001} ,{\mathbf{b}}_{02000} ,{\mathbf{b}}_{01100} ,{\mathbf{b}}_{01010} ,{\mathbf{b}}_{01001} \} . \hfill \\ \end{aligned} $$

When all the members of \( F_{1} \) fall on a plane, the 5-sided Bézier surface of degree 2 has tangent-plane continuity with the plane along \( l_{1} (p) + l_{2} (p) = 1 \). Figure 8 depicts the result. For more properties about multisided Bézier surfaces, please refer to [8, 19].

Fig. 8.
figure 8

A 5-sided Bézier surface of degree 2 contacts with a plane G1-continuously.

3 Starting from a 4-Edge Cluster Blending

For brevity, we define a notation “→” in the formula

$$ S \to {\mathbf{g}}, $$
(8)

where S denotes a set of schematic control points (e.g., the foregoing \( F_{k} \) or \( E_{k} \) in Sect. 2) and g is a geometric entity in the 3-D space (e.g., vertex, edge or face). This formula means that the positional control points corresponding to S fall on g.

Figure 9 shows a typical and the simplest 4-edge cluster with two vertices \( {\mathbf{v}}_{1} \) and \( {\mathbf{v}}_{2} \), four open edges \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \), \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{2} }} \), \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{3} }} \), \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{4} }} \), and four faces \( {\mathbf{n}}_{k} \), \( k = 1,2,3,4 \). Note that \( {\mathbf{n}}_{1} \) and \( {\mathbf{n}}_{3} \) intersect at the edge \( \overline{{{\mathbf{v}}_{1} {\mathbf{v}}_{2} }} \). To achieve Gg-blending of this 4-edge cluster using a TPB surface, \( F_{k} \), \( k = 1,2,3,4 \) defined in Subsect. 2.1 need to fall on the faces \( {\mathbf{n}}_{k} \), \( k = 1,2,3,4 \) respectively based on Lemma 1. Besides, the points in \( E_{1} \) falling on \( {\mathbf{n}}_{1} \) and \( {\mathbf{n}}_{4} \) simultaneously only lie on the intersection \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \), and likewise for \( E_{k} \), \( k = 2,3,4 \). Symbolically, \( E_{1} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \), \( E_{2} \) → \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{2} }} \), \( E_{3} \) → \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{3} }} \), \( E_{4} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{4} }} \) respectively and \( F_{k} \backslash (E_{k} \cup E_{k + 1} ) \) → \( {\mathbf{n}}_{k} \), \( k = 1,2,3,4 \) respectively. However, since \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \cap \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{3} }} \) \( = \emptyset \), so \( E_{1} \cap E_{3} \)\( = \emptyset \). Referring to Fig. 4,

Fig. 9.
figure 9

A 4-edge cluster.

$$ E_{1} = F_{4} \cap F_{1} = \{ {\mathbf{b}}_{i,j} |0 \le i \le g,0 \le j \le g\} , $$
$$ E_{3} = F_{2} \cap F_{3} = \{ {\mathbf{b}}_{i,j} |n_{1} - g \le i \le n_{1} ,n_{2} - g \le j \le n_{2} \} , $$

In addition,

$$ E_{1} \cap E_{3} = \{ {\mathbf{b}}_{i,j} |n_{1} - g \le i \le g,n_{2} - g \le j \le g\} = \emptyset . $$
(9)

It follows from the above three equations that n1 > 2 g. Otherwise, Gg blending of this kind of edge clusters is impossible. Thus,

Theorem 1.

(a) If n1 ≥ n2 > 2 g, then \( {\mathbf{b}}(u,v) \) is a Gg-blending surface for the 4-edge cluster when \( E_{1} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \), \( E_{2} \) → \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{2} }} \), \( E_{3} \) → \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{3} }} \) and \( E_{4} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{4} }} \) respectively and \( F_{k} \backslash (E_{k} \cup E_{k + 1} ) \) → \( {\mathbf{n}}_{k} \), \( k = 1,2,3,4 \) respectively.

(b) If n1 > 2 g ≥ n2, then \( {\mathbf{b}}(u,v) \) is a Gg-blending surface for the 4-edge cluster when \( V_{1} \) → \( {\mathbf{v}}_{1} \), \( V_{2} \) → \( {\mathbf{v}}_{2} \), \( E_{1} \backslash V_{1} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \), \( E_{2} \backslash V_{2} \) → \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{2} }} \), \( E_{3} \backslash V_{2} \) → \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{3} }} \) and \( E_{4} \backslash V_{1} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{4} }} \), \( \overline{E} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{v}}_{2} }} \), \( F_{1} \backslash (E_{1} \cup E_{2} \cup \overline{E} ) \) → \( {\mathbf{n}}_{1} \), and \( F_{3} \backslash (E_{3} \cup E_{4} \cup \overline{E} ) \) → \( {\mathbf{n}}_{3} \), where \( V_{1} = E_{1} \cap E_{4} \), \( V_{2} = E_{2} \cap E_{3} \), \( \overline{E} = (F_{1} \cap F_{3} )\backslash (V_{1} \cup V_{2} ) \).

Proof.

(a) It is apparent. (b) When n1 > 2 g ≥ n2, since \( V_{1} \subset E_{1} \) and \( V_{1} \subset E_{4} \), so \( V_{1} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \) and \( V_{1} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{4} }} \) simultaneously. Thus \( V_{1} \) → \( {\mathbf{v}}_{1} \), \( E_{1} \backslash V_{1} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \), \( E_{4} \backslash V_{1} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{4} }} \). In words, the positional control points corresponding to \( V_{1} \) falling on \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \) and \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{4} }} \) simultaneously is equivalent to falling on their intersection \( {\mathbf{v}}_{1} \), but the positional images of other members of \( E_{1} \) except \( V_{1} \) are still free on \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \), and likewise for \( E_{4} \). A similar result holds for \( V_{2} \). Moreover, \( (V_{1} \cup V_{2} ) \subseteq (E_{1} \cup E_{2} ) \cap (E_{3} \cup E_{4} ) \subset (F_{1} \cap F_{3} ) \), \( F_{1} \cap F_{3} \) → \( {\mathbf{n}}_{1} \cap {\mathbf{n}}_{3} \) = \( \overline{{{\mathbf{v}}_{1} {\mathbf{v}}_{2} }} \), hence \( \overline{E} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{v}}_{2} }} \). Furthermore,

$$ E_{1} \cup E_{4} = \{ {\mathbf{b}}_{i,j} |0 \le i \le g,0 \le j \le n_{2} \} = F_{4} , $$
$$ E_{2} \cup E_{3} = \{ {\mathbf{b}}_{i,j} |n_{1} - g \le i \le n_{1} ,0 \le j \le n_{2} \} = F_{2} . $$

Therefore the theorem is valid. □

Example 1.

Figure 10(a) and (b) depict that TPB surfaces of degree (4, 2) are adopted to blend a hexahedron with four 4-edge clusters G1-continuously as a blood pressure meter. The related sets are as follows:

Fig. 10.
figure 10

4-edge cluster blending using TPB surfaces.

$$ \begin{aligned} & F_{1} = \{ {\mathbf{b}}_{i,j} |0 \le i \le 4,0 \le j \le 1\} ,\,F_{2} = \{ {\mathbf{b}}_{i,j} |3 \le i \le 4,0 \le j \le 2\} , \\ & F_{3} = \{ {\mathbf{b}}_{i,j} |0 \le i \le 4,1 \le j \le 2\} ,\,F_{4} = \{ {\mathbf{b}}_{i,j} |0 \le i \le 1,0 \le j \le 2\} , \\ & E_{1} = \{ {\mathbf{b}}_{i,j} |0 \le i \le 1,0 \le j \le 1\} ,\,E_{2} = \{ {\mathbf{b}}_{i,j} |3 \le i \le 4,0 \le j \le 1\} , \\ & E_{3} = \{ {\mathbf{b}}_{i,j} |3 \le i \le 4,1 \le j \le 2\} ,\,E_{4} = \{ {\mathbf{b}}_{i,j} |0 \le i \le 1,1 \le j \le 2\} , \\ & \quad \quad \quad \quad V_{1} = \{ {\mathbf{b}}_{0,1} ,{\mathbf{b}}_{1,1} \} ,\,V_{2} = \{ {\mathbf{b}}_{3,1} ,{\mathbf{b}}_{4,1} \} ,\,\overline{E} = \{ {\mathbf{b}}_{2,1} \} . \\ \end{aligned} $$

From Theorem 1(b), referring to Figs. 9 and 2(a),

$$ V_{1} \to {\mathbf{v}}_{1} ;\,V_{2} \to {\mathbf{v}}_{2} ; $$
$$ E_{1} \backslash V_{1} = \{ {\mathbf{b}}_{0,0} ,{\mathbf{b}}_{1,0} \} \to \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} ;\,E_{2} \backslash V_{2} = \{ {\mathbf{b}}_{3,0} ,{\mathbf{b}}_{4,0} \} \to \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{2} }} ; $$
$$ E_{3} \backslash V_{2} = \{ {\mathbf{b}}_{3,2} ,{\mathbf{b}}_{4,2} \} \to \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{3} }} ;\,E_{4} \backslash V_{1} = \{ {\mathbf{b}}_{0,2} ,{\mathbf{b}}_{1,2} \} \to \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{4} }} ; $$
$$ \overline{E} \to \overline{{{\mathbf{v}}_{1} {\mathbf{v}}_{2} }} ; $$
$$ F_{1} \backslash (E_{1} \cup E_{2} \cup \overline{E} ) = \{ {\mathbf{b}}_{2,0} \} \to {\mathbf{n}}_{1} ;\,F_{3} \backslash (E_{3} \cup E_{4} \cup \overline{E} ) = \{ {\mathbf{b}}_{2,2} \} \to {\mathbf{n}}_{3} . $$

The sets \( V_{1} \), \( V_{2} \), and \( \overline{E} \) are indicated in Fig. 10(a).

Example 2.

Figure 10(c) shows the schematic control points of a TPB surface of degree (5, 5). The associated sets \( E_{k} \), \( k = 1,2,3,4 \) are also indicated. Figure 10(d) depicts the G2-blending operations based on Theorem 1(a).

4 Multi-edge Cluster Blending Using Multisided Bézier Surfaces

4.1 Edge Cluster Configurations

The edge cluster configurations will become more and more complicated and diversified with the increase of edge number. In the sequel, we denote an m-edge cluster with n non-terminal vertices by {n + m}. For instance, we denote the 4-edge cluster with 2 vertices (i.e.,\( {\mathbf{v}}_{1} \) and \( {\mathbf{v}}_{2} \)) in Fig. 9 by {2 + 4}.

Figure 11 shows two 5-edge clusters. Compared with Figs. 9, 11(a) has an additional branch at the vertex \( {\mathbf{v}}_{2} \), while Fig. 11(b) has a bifurcation at an original open end. Figure 12 shows eight 6-edge clusters.

Fig. 11.
figure 11

5-edge clusters.

Fig. 12.
figure 12

6-edge clusters.

4.2 Blending Condition

According to Lemma 2, \( F_{k} \), \( k = 1, \ldots ,m \) are required to fall on \( {\mathbf{n}}_{k} \), \( k = 1, \ldots ,m \) simultaneously to realize Gg-blending. Obviously, a sufficient condition for blending all edge clusters is \( E_{k} \cap E_{l} = \emptyset \), \( l \ne k \), \( k,l = 1, \ldots ,m \). In terms of the central symmetry of the schematic control points of m-sided Bézier surfaces (see Fig. 7), \( E_{1} \cap E_{2} = \emptyset \) is sufficient. Therefore, from Eq. (7), we have

$$ \begin{aligned} & F_{1} = \{ {\mathbf{b}}_{{\mathbf{i}}} |{\mathbf{i}} = {\mathbf{i}}_{0} + {\mathbf{e}}_{{k_{1} }} + \cdots + {\mathbf{e}}_{{k_{g} }} , { }{\mathbf{i}}_{0} = (i_{1} ,i_{2} ,0, \ldots ,0), \\ & \quad \quad \quad \quad |{\mathbf{i}}_{0} | = n - g,{\text{and }}k_{1} , \ldots ,k_{g} = 1, \ldots ,m\} , \\ \end{aligned} $$
$$ \begin{aligned} & F_{2} = \{ {\mathbf{b}}_{{\mathbf{i}}} |{\mathbf{i}} = {\mathbf{i}}_{0} + {\mathbf{e}}_{{k_{1} }} + \cdots + {\mathbf{e}}_{{k_{g} }} , { }{\mathbf{i}}_{0} = (0 ,i_{2} ,i_{3} ,0, \ldots ,0), \\ & \quad \quad \quad \quad |{\mathbf{i}}_{0} | = n - g,{\text{and }}k_{1} , \ldots ,k_{g} = 1, \ldots ,m\} , \\ \end{aligned} $$
$$ \begin{aligned} & F_{m} = \{ {\mathbf{b}}_{{\mathbf{i}}} |{\mathbf{i}} = {\mathbf{i}}_{0} + {\mathbf{e}}_{{k_{1} }} + \cdots + {\mathbf{e}}_{{k_{g} }} , { }{\mathbf{i}}_{0} = (i_{1} ,0, \ldots ,0,i_{m} ), \\ & \quad \quad \quad \quad |{\mathbf{i}}_{0} | = n - g,{\text{and }}k_{1} , \ldots ,k_{g} = 1, \ldots ,m\} . \\ \end{aligned} $$

Hence,

$$ \begin{aligned} E_{1} = F_{m} \cap F_{1} = \{ {\mathbf{b}}_{{\mathbf{i}}} |{\mathbf{i}} = {\mathbf{i}}_{0} + {\mathbf{e}}_{{k_{1} }} + \cdots + {\mathbf{e}}_{{k_{g} }} ,{\mathbf{i}}_{0} = (n - g,0, \ldots ,0) \\ \begin{array}{*{20}c} {{\text{or }}{\mathbf{i}} = {\mathbf{i}}_{0} + {\mathbf{e}}_{{k_{1} }} + \cdots + {\mathbf{e}}_{{k_{g - 1} }} ,{\mathbf{i}}_{0} = (n - g - 1,1,0, \ldots ,0,1)} \\ {{\text{or }}{\mathbf{i}} = {\mathbf{i}}_{0} + {\mathbf{e}}_{{k_{1} }} + \cdots + {\mathbf{e}}_{{k_{g - 2} }} ,{\mathbf{i}}_{0} = (n - g - 2,2,0, \ldots ,0,2)} \\ \cdots \\ {{\text{or }}{\mathbf{i}} = {\mathbf{i}}_{0} ,{\mathbf{i}}_{0} = (n - 2g,g,0, \ldots ,0,g),k_{1} , \ldots ,k_{g} = 1, \ldots ,m\} . \, } \\ \end{array} \\ \end{aligned} $$

Equivalently,

$$ \begin{aligned} & E_{1} = \{ {\mathbf{b}}_{{\mathbf{i}}} |{\mathbf{i}} = {\mathbf{i}}_{0}^{x} + \sum\nolimits_{j = 1}^{g - x} {{\mathbf{e}}_{{k_{j} }} } , { }{\mathbf{i}}_{0}^{x} = (n - g - x,x,0, \ldots ,0,x),0 \le x \le g, \\ & \quad \quad \quad \quad |{\mathbf{i}}_{0}^{x} | = n - g + x,{\text{ and }}k_{1} , \ldots ,k_{g} = 1, \ldots ,m\} . \\ \end{aligned} $$
(10)

Similarly, we derive

$$ \begin{aligned} & E_{2} = \{ {\mathbf{b}}_{{\mathbf{i}}} |{\mathbf{i}} = {\mathbf{i}}_{0}^{y} + \sum\nolimits_{j = 1}^{g - y} {{\mathbf{e}}_{{k_{j} }} } , { }{\mathbf{i}}_{0}^{y} = (y,n - g - y,y,0, \ldots ,0),0 \le y \le g, \\ & \quad \quad \quad \quad |{\mathbf{i}}_{0}^{y} | = n - g + y,{\text{ and }}k_{1} , \ldots ,k_{g} = 1, \ldots ,m\} . \\ \end{aligned} $$
(11)

Since \( {\mathbf{e}}_{{k_{j} }} \), \( j = 1, \ldots ,g - x \) (resp. \( j = 1, \ldots ,g - y \)) can be freely added to \( {\mathbf{i}}_{0}^{x} \) (resp. \( {\mathbf{i}}_{0}^{y} \)) in \( E_{1} \) (resp. \( E_{2} \)) to produce \( {\mathbf{i}} \), they can be regarded as freedoms to equalize the \( {\mathbf{i}} \) in \( E_{1} \) and the \( {\mathbf{i}} \) in \( E_{2} \). Thus, the freedoms are \( g - x + g - y = 2g - x - y \). On the other hand, the constraints between \( {\mathbf{i}}_{0}^{x} \) and \( {\mathbf{i}}_{0}^{y} \) are the sum of the differences between corresponding components, i.e. (n – g – x – y) + (n – g – y – x) + (y – 0) + (x – 0) = 2n – 2g – x – y. Therefore, to ensure \( E_{1} \cap E_{2} = \emptyset \), the constraints should be more than the freedoms, namely \( 2n - 2g - x - y > 2g - x - y \), that is \( n > 2g \). Note that it unifies the 4-edge case when \( n_{1} = n_{2} \) in Theorem 1. Hence, we have

Corollary 1.

If \( n > 2g \), then \( {\mathbf{S}}(p) \) is a Gg-blending surface for an m-edge cluster when \( E_{k} \) falls on the open edge ending at \( {\mathbf{a}}_{k} \), \( k = 1, \ldots ,m \) respectively and \( F_{k} \backslash (E_{k} \cup E_{k + 1} ) \)\( {\mathbf{n}}_{k} \), \( k = 1, \ldots ,m \) respectively.

Example 3.

Figure 13(a) and (b) show that 5-sided Bézier surfaces of degree 3 are used to blend seven {2 + 5} like Fig. 11(a) G1-continuously. Therefore,

Fig. 13.
figure 13

Edge cluster blending using 5-sided Bézier surfaces.

$$ F_{k} = \{ {\mathbf{b}}_{{\mathbf{i}}} |{\mathbf{i}} = {\mathbf{i}}_{0} + {\mathbf{e}}_{{k_{1} }} ,{\mathbf{i}}_{0} = (0, \ldots ,0,i_{k} ,i_{k + 1} ,0, \ldots ,0),|{\mathbf{i}}_{0} | = 2,{\text{and }}k_{1} = 1, \ldots ,5\} , $$
$$ E_{k} = F_{k - 1} \cap F_{k} ,\,k = 1, \ldots ,5 $$

From Corollary 1, referring to Figs. 11(a) and 2(b), we have

$$ E_{1} \to \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} ;\,E_{2} \to \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{2} }} ;\,E_{3} \to \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{3} }} ;\,E_{4} \to \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{4} }} ;\,E_{5} \to \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{5} }} ; $$
$$ F_{1} \backslash (E_{1} \cup E_{2} ) = \{ {\mathbf{b}}_{11010} \} \to {\mathbf{n}}_{1} ;\,F_{2} \backslash (E_{2} \cup E_{3} ) = \{ {\mathbf{b}}_{01101} \} \to {\mathbf{n}}_{2} ; $$
$$ F_{3} \backslash (E_{3} \cup E_{4} ) = \{ {\mathbf{b}}_{10110} \} \to {\mathbf{n}}_{3} ;\,F_{4} \backslash (E_{4} \cup E_{5} ) = \{ {\mathbf{b}}_{01011} \} \to {\mathbf{n}}_{4} ; $$
$$ F_{5} \backslash (E_{5} \cup E_{1} ) = \{ {\mathbf{b}}_{10101} \} \to {\mathbf{n}}_{5} . $$

5 How to Select the Edge Clusters and Settle the Free Positional Control Points

In general, there often exist multiple choices of edge clusters on a given polyhedron. Different edge cluster blending strategies lead to different blending results. Hence, the intention of designers determines how to choose the edge clusters. However, because the blending surfaces are shaped depending on the edge cluster configurations, distorted edge clusters sometimes uglify the blending shape. From our experience, the smaller an edge cluster backbone (connecting the open edges together) distorts, the fairer the blending surfaces are. Besides, the edge cluster revealing main features of the polyhedron or symmetrical edge clusters should be given priority.

The following will illustrate the influence of the control points on the edge cluster blending shape with a typical practical example. In Example 1, a blood pressure meter has been smoothed by four edge cluster blending. Referring to the analysis in Example 1, we have that the control points with freedoms are: \( {\mathbf{b}}_{0,0} \) and \( {\mathbf{b}}_{1,0} \) can move along the edge \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \); \( {\mathbf{b}}_{3,0} \) and \( {\mathbf{b}}_{4,0} \) can move along \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{2} }} \); \( {\mathbf{b}}_{3,2} \) and \( {\mathbf{b}}_{4,2} \) can move along the edge \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{3} }} \); \( {\mathbf{b}}_{0,2} \) and \( {\mathbf{b}}_{1,2} \) can move along the edge \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{4} }} \); \( {\mathbf{b}}_{ 2, 1} \) can move along the edge \( \overline{{{\mathbf{v}}_{1} {\mathbf{v}}_{2} }} \); \( {\mathbf{b}}_{2,0} \) can move in the face \( {\mathbf{n}}_{1} \); \( {\mathbf{b}}_{2,2} \) can move in the face \( {\mathbf{n}}_{3} \). As shown in Fig. 14, the smooth region of edge cluster blending can be enlarged by adjusting \( {\mathbf{b}}_{2,0} \) and \( {\mathbf{b}}_{2,2} \), meanwhile the aesthetic is also improved. Moreover, the bottom supporting region the blood pressure meter can be extended by adjusting \( {\mathbf{b}}_{0,0} \) and \( {\mathbf{b}}_{0,2} \).

Fig. 14.
figure 14

Influence of the control points’ position on the blending shape.

6 Practical Examples

Example 4.

To model a flower pot, involving two regular pentagons and one decagon horizontally at increasing height from the bottom. The decagon comes out if sharp corners are cut away from an auxiliary regular pentagon, whose orientation is the same as the real regular pentagons. Five 5-edge convex-concave vertices around the waist and five 3-edge convex vertices at the bottom together construct five 6-edge clusters like Fig. 12(a) in Fig. 15(d). We blend the {2 + 6} using 6-sided Bézier surfaces of degree 3. The associated sets are as follows:

Fig. 15.
figure 15

Blending a flower pot.

$$ F_{k} = \{ {\mathbf{b}}_{{\mathbf{i}}} |{\mathbf{i}} = {\mathbf{i}}_{0} + {\mathbf{e}}_{{k_{1} }} , { }{\mathbf{i}}_{0} = (0, \ldots ,0,i_{k} ,i_{k + 1} ,0, \ldots ,0),|{\mathbf{i}}_{0} | = 2,{\text{and }}k_{1} = 1, \ldots ,6\} , $$
$$ E_{k} = F_{k - 1} \cap F_{k} ,\,k = 1, \ldots ,6 $$

From Corollary 1 and Fig. 15(a), we have

\( E_{1} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{1} }} \); \( E_{2} \) → \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{2} }} \); \( E_{3} \) → \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{3} }} \); \( E_{4} \) → \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{4} }} \); \( E_{5} \) → \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{5} }} \); \( E_{6} \) → \( \overline{{{\mathbf{v}}_{1} {\mathbf{a}}_{6} }} \);

$$ F_{1} \backslash (E_{1} \cup E_{2} ) = \{ {\mathbf{b}}_{110100} ,{\mathbf{b}}_{110010} \} \to {\mathbf{n}}_{1} ; $$
$$ F_{2} \backslash (E_{2} \cup E_{3} ) = \{ {\mathbf{b}}_{011010} ,{\mathbf{b}}_{011001} \} \to {\mathbf{n}}_{2} ; $$
$$ F_{3} \backslash (E_{3} \cup E_{4} ) = \{ {\mathbf{b}}_{001101} ,{\mathbf{b}}_{101100} \} \to {\mathbf{n}}_{3} ; $$
$$ F_{4} \backslash (E_{4} \cup E_{5} ) = \{ {\mathbf{b}}_{100110} ,{\mathbf{b}}_{010110} \} \to {\mathbf{n}}_{4} ; $$
$$ F_{5} \backslash (E_{5} \cup E_{6} ) = \{ {\mathbf{b}}_{010011} ,{\mathbf{b}}_{001011} \} \to {\mathbf{n}}_{5} ; $$
$$ F_{6} \backslash (E_{6} \cup E_{1} ) = \{ {\mathbf{b}}_{101001} ,{\mathbf{b}}_{100101} \} \to {\mathbf{n}}_{6} . $$

Note that the face \( {\mathbf{n}}_{6} \) is spanned by \( {\mathbf{v}}_{1} \), \( {\mathbf{a}}_{1} \) and \( {\mathbf{a}}_{6} \).

As shown in Fig. 15(a), \( \varGamma_{1} \) (resp. \( \varGamma_{2} \)) is a cubic Bézier curve determined by \( {\mathbf{b}}_{300000} \), \( {\mathbf{b}}_{210000} \), \( {\mathbf{b}}_{120000} \), \( {\mathbf{b}}_{030000} \) (resp. \( {\mathbf{b}}_{030000} \), \( {\mathbf{b}}_{021000} \), \( {\mathbf{b}}_{012000} \), \( {\mathbf{b}}_{003000} \)). Since \( {\mathbf{b}}_{030000} \), \( {\mathbf{b}}_{120000} \), and \( {\mathbf{b}}_{021000} \) all lie on \( \overline{{{\mathbf{v}}_{2} {\mathbf{a}}_{2} }} \), so \( {\mathbf{b}}_{030000} \) (coinciding with \( {\mathbf{a}}_{2} \)) is a degenerate point at \( {\mathbf{S}}(p) \), whose normal vector at \( {\mathbf{b}}_{030000} \) is undefined. So are \( {\mathbf{b}}_{300000} \), \( {\mathbf{b}}_{003000} \), \( {\mathbf{b}}_{000300} \), \( {\mathbf{b}}_{000030} \) and \( {\mathbf{b}}_{000003} \). To avoid these C0 points appearing around the waist and bottom of the flower pot, we use Hartmann method [20, 21] to smooth them.

A Gh-blending surface generated by Hartmann method is defined as

$$ {\mathbf{x}}(s,t) = f(t){\mathbf{x}}_{1} (s,t) + (1 - f(t)){\mathbf{x}}_{2} (s,t),\,s,t \in [0,1], $$
(12)

where \( {\mathbf{x}}_{1} (s,t) \), \( {\mathbf{x}}_{2} (s,t) \) are reparameterized local base patches, and \( {\mathbf{x}}(s,t) \) has Ch-contact with \( {\mathbf{x}}_{1} (s,t) \) and \( {\mathbf{x}}_{2} (s,t) \) along the contact curves \( {\mathbf{x}}_{1} (s,0) \) and \( {\mathbf{x}}_{2} (s,1) \), \( s \in [0,1] \) respectively. Besides,

$$ f(t) = \frac{{\mu (1 - t)^{h + 1} }}{{\mu (1 - t)^{h + 1} + (1 - \mu )t^{h + 1} }},\,t \in [0,1], $$
(13)

where \( \mu \in (0,1) \) is the design parameter. As illustrated by Fig. 15(c), \( x_{1} (s,t) \) and \( x_{2} (s,t) \) are bilinear reparameterized domains in respective regular hexagon domains. Then maps \( {\mathbf{S}}_{1} \) and \( {\mathbf{S}}_{2} \) give rise to the reparameterized local base patches \( {\mathbf{x}}_{1} (s,t) = {\mathbf{S}}_{1} (x_{1} (s,t)) \) and \( {\mathbf{x}}_{2} (s,t) = {\mathbf{S}}_{2} (x_{2} (s,t)) \). Based on Eqs. (12) and (13) with \( h = 1 \) and \( \mu = 0. 5 \), the edge blending surface \( {\mathbf{x}}(s,t) \) is generated and shown in Fig. 15(b). Here \( {\mathbf{x}}(s,t) \) not only contacts with \( {\mathbf{S}}_{1} (P) \) and \( {\mathbf{S}}_{2} (P) \) G1-continuously, but also with the primary faces in tangent-plane continuity [17]. Naturally, graceful setbacks are created and degenerated points are trimmed off. The final blending of a flower pot is shown in Fig. 15(e).

Example 5.

To construct a door knob, the initial polyhedron is shown in Fig. 16(a). Four 6-edge clusters like Fig. 12(b) are located in this polyhedron. Figure 16(b) shows the resulting edge cluster blending. Figure 16(c) depicts the final blending.

Fig. 16.
figure 16

Blending a door knob.