Tensor-border surfaces

Kestutis Karciauskas

Multisided tensor-border surfaces (term due to J. Peters) are generalizations of quadrangular Bézier patches and were introduced by M. Sabin and Hosaka-Kimura. Spline surfaces of any complex topology can be constructed easily using tensor-border patches. Here you can see some simple but essential examples. Our software does not allow us to display spline surfaces built from remarkably greater number of Bézier patches in a real time.

Boundary curves of a tensor-border patch are Bézier curves with the same family of tangent planes as a tensor product surface. This property enables us to use the same smooth joining conditions as for quadrangular Bézier patches. Here we briefly describe some of the most simple and widely used conditions.

Smooth joining of quadrangular Bézier patches

For a simplicity let us consider only smoothness of the first order.

Suppose Bézier surfaces F and G are defined via control points Pij, i=0,...,n, j=0,...,m, and Qij, i=0,...,n, j=0,...,k. Let their common boundary Bézier curve C has control points P0m=Q00, P1m=Q10,..., Pnm=Qn0. Any kind of the first order smoothness conditions involves only control points of the common boundary curve and the next layer of control points of both surfaces F and G. It means that smooth joining of F and G depends only of the points Pij, i=0,...,n, j=m-1,m, and Qi1, i=0,...,n. If the surfaces are rational then their smoothness also depends of the weights of corresponding control points.

Parametric smoothness

Suppose the patch F is defined over square 0< u < 1, 0< v < 1, and the patch G is defined over the adjacent square 0< u < 1, 1< v < 2. Hence their common boundary curve C corresponds to the parameter value v=1. The most simple case of smooth joining occur, when the derivatives of parametric curves coincide along the curve C:u=const of both surfaces, e.g. F'v|v=1=G'v|v=1. Here is the classical sufficient condition of parametric smoothness

Pim = (Pi,m-1 + Qi1) / 2,    i=0,..., n.     (1)

If the surfaces F and G are rational then any control point R with a corresponding weight w is replaced by a homogeneous point R=(wR,w) with four coordinates. In this case a traditional smoothness condition has the following form

Pim = (Pi,m-1 + Qi1) / 2,    i=0,..., n.     (2)

If the adjacent squares are replaced by adjacent rectangulars with a ratio of there edges in v direction µ0 : µ1 then condition (1) is modified as follows

Pim=(µ1Pi,m1 + µ0Qi1)/ (µ0 + µ1),    i=0,...,n.     (3)

Similarly the condition (2) is replaced by

Pim = (µ1 Pi,m-1+ µ0 Qi1)/(µ01),    i=0,...,n.     (4)

The last condition (4) is a geometric smoothness for (bi)order(3,3) NURBS surfaces. It is convinient to consider seperately the affine combinations of control points and their weights. Let the weights of control points of the surfaces F and G are denoted by wij and wij respectively. It is also assumed that

w0m = w00,   w1m = w10,  ...,   wnm = wn0.

Parts of spline surfaces are constructed using following smoothness condition:

Geometric smoothness

Parametric smoothness is used when spline surface is built from quadrangular patches and their "inner" corner points belong exactly to four patches. So one can model only topologicaly deformed square, cilinder and torus. More general geometric smoothness conditions for multisided patches allow us to build spline surfaces of any topology. Spline surfaces due to J. Peters are good examples of such approach. By a defintion two quadrangular Bézier patches F and G are geometric smooth along common boundary Bézier curve C, if their tangent planes coincide at any point on it. Let Bézier patches F ir G are defined over adjacent squares, as we considered above. We denote

Fu=F'u| v=1=G'u|v=1,    Fv = F'v|v=1,    Gv = G'v|v=1.

Geometric smoothness means that vectors Fu, Fv and Gv are complanar for any value 0 < u < 1. Though there are various forms of necessary and sufficient conditions of geometric smoothness it is not convenient to use them in practice. Better approach is to discover some sufficient conditions that fit naturally to a handled situation. Corresponding formulas are more complicated then (1)-(4) so we do not present them here.

Tensor-border net and patch

A multisided tensor-border net of order n is composed using the following combinatorial scheme: boundary points are control points of m Bézier curves of degree n, and the layer adjacent to every boundary curve is the same as that of a Bézier patch of bidegree (n,n). By a definition a tensor-border patch has the same family of tangent planes along each boundary Bézier curve as the corresponding tensor product surface with the same adjacent two layers of control points and weights. A tensor-border net of order two is the Sabin net, and if it has order three then we obtain the Hosaka-Kimura net. Note that the same tensor-border net can be used for different tensor-border patches. There are two main types of these patches: a multisided piece on an algebraic surface and a patche built using smoothly joined quadrangular Bézier patches. Shape quality of the first type patches are better but the degree of parametrization is higher.

Sabin and Hosaka-Kimura pentagonal nets.

A designer who works with Bézier patches does not need to know matematical formulas that define them. It is enough to feel the influence of control points and weights to the form of the surface. The same we can say about tensor-border patches, which have even more complicated mathematical background.

Spline surfaces

Spline surfaces of arbitrary topology are constructed using any polyhedral mesh of control points. At first a step of Cattmull-Clark or Doo-Sabin polyhedra subdivision algorithm is applied. New polyhedra contains only quadrangular (Cattmull-Clark) faces or every vertex belongs to exactly four faces (Doo-Sabin). Then we build a complex of multisided tensor-border nets that satisfy the mentioned smoothness conditions along each boundary.

For example, if all faces are quadrangular then any subdivision step is not needed and Sabin nets are constructed via the following simple procedure:

The obtained Sabin nets satisfy the condition (1). Some other modifications use different smoothness conditions.

3D Gallery


Back to FFSMS