Computationally efficient transfinite patches with fullness control

02/25/2020 ∙ by Péter Salvi, et al. ∙ 0

Transfinite patches provide a simple and elegant solution to the problem of representing non-four-sided continuous surfaces, which are useful in a variety of applications, such as curve network based design. Real-time responsiveness is essential in this context, and thus reducing the computation cost is an important concern. The Midpoint Coons (MC) patch presented in this paper is a fusion of two previous transfinite schemes, combining the speed of one with the superior control mechanism of the other. This is achieved using a new constrained parameterization based on generalized barycentric coordinates and transfinite blending functions.



There are no comments yet.


page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

The representation of multi-sided surfaces is a difficult problem, with different solutions suited to different applications. Most CAD systems provide trimmed tensor product surfaces to reproduce patches of arbitrary sides in a mechanical model, while in computer graphics subdivision surfaces are the de facto standard. Splitting multi-sided regions into quadrilateral patches—preserving continuity along splitting curves—is also a well-researched approach.

Transfinite interpolation has many advantages over the above methods: (i) it retains the continuity of its edge curves on the whole domain, while exactly interpolates

boundary conditions; (ii) it depends only on the boundary data, without the need of additional control points or polyhedra; (iii) smooth connections to adjacent surfaces are easily ensured.

There are also some limitations: (i) as the whole patch is being defined as a blend of its boundaries, there is little control over the center of the surface; (ii) computation costs are somewhat higher compared to conventional techniques; (iii) the computation of derivatives is complex (normally discrete approximations are used).

One of these concerns, central control, has been alleviated recently by the addition of an extra degree of freedom (adjusting surface fullness) to the Gregory patch 

[3], the most popular choice of multi-sided transfinite patch [6]. As for computational complexity, a practically equivalent, but much more efficient formulation has been given for the same surface [7, 5]. These two modifications of the Gregory patch are, however, not compatible. The problem lies in the parameterization of the domain, which is enhanced in this paper in such a way as to accommodate for both adjustments, and thus create an efficient representation capable of fullness control.

The rest of the paper is organized as follows. In Section 2 we give a short review of related research. In Section 3 the necessary details of the above two transfinite surfaces are presented. The new Midpoint Coons (MC) patch is introduced in Section 4, and test results are shown in Section 5.

2 Previous work

Figure 1: Side- and corner-based transfinite surface interpolation. Side interpolants (top) are parameterized by a side- and a distance parameter, while corner interpolants (bottom) use only side parameters. A point in the polygonal domain (left) is mapped to the four-sided domain of each of its ribbons (middle), which are evaluated in 3D space (right) and then blended together, giving a point of the transfinite patch.

There has not been much work done on the interior control of transfinite interpolation surfaces, maybe because these were regarded as the means of filling multi-sided holes, not as a design tool. One exception is an earlier work of the authors [8], where the patch center can be adjusted via auxiliary surfaces. The formulation is a modification of Kato’s patch [4].

As briefly outlined above, this paper mainly draws on two previous representations: the Generalized Coons (GC) and Midpoint (MP) surfaces [7, 6]. The former is a multi-sided generalization of the Coons patch, which is shown to be virtually the same as the Gregory patch [5], while the latter introduces a central control point for fullness control. Both of these are presented in detail in Section 3.

Our primary contribution, the constrained parameterization in Section 4.1, is based on generalized barycentric coordinates (see e.g. Floater [1]) and the blending function of Kato’s patch [4].

3 Preliminaries

In this section we will first look at the various constituents of transfinite patches, then review some concrete constructions: the Gregory patch, and its two enhancements, the Generalized Coons (GC) and Midpoint (MP) patches.

Given a loop of 3D curves and cross-derivatives, we want to generate a surface that interpolates these boundary conditions (in a sense, i.e., only tangent planes are reproduced). Cross-derivatives can be defined automatically using a frame sweep (e.g. with a rotation-minimizing frame [9]

), or semi-automatically by first fixing normal vectors at arbitrary points. We assume that the cross-derivative functions are twist-compatible; otherwise rational twists can be applied 


Transfinite surfaces come in two flavors: side-based and corner-based schemes, see Figure 1. Side-based schemes blend together side-interpolants (four-sided surfaces that interpolate one side), while corner-based schemes use corner-interpolants (four-sided surfaces that interpolate two adjacent sides). In practice it is much easier to construct side-interpolants, so we will define corner-interpolants based on these, as well.

A side-interpolant, or ribbon, for side is defined as


where is the -th boundary curve parameterized in , is the corresponding cross-derivative, and is a scaling function. (A recommended function is , its derivation can be found in Salvi et al. [7]) The arguments and are the side- and distance-parameters, with


The -sided patch itself is defined over a convex polygonal domain, e.g. a regular -sided polygon in the plane. A crucial component of a transfinite scheme is the parameter mapping from to , i.e., from the -sided polygon to each ribbon’s own parameterization. A basic constraint is that for a point on side of the domain polygon,


Also, the side parameter changes linearly from 0 to 1, and the distance parameter grows monotonically as we go inside the domain.

Finally, we will need suitable blending functions that interpolate the ribbons at the boundaries, but blend them together inside the patch.

3.1 Gregory patch

The classic Gregory patch is a corner-based111Because of this, it is also called “CB patch” [7]. scheme, so our first step is the creation of corner interpolants. These can be constructed as the Boolean sum of two adjacent ribbons, with the common part subtracted:


where the correction patch is defined as


Here is the (common) twist for the corner .

The patch equation is simply


where is the blending function


with .

For parameterization, radial side parameters and perpendicular distance parameters are used. As these are not relevant to the enhancements at hand, the reader is referred to the original paper [3].

3.2 Generalized Coons patch

This is a side-based formulation, similar in logic to the original four-sided Coons patch:


Here is a blending function assigned to the -th side; everything else is as before.

There are, however, more constraints on the parameters. For a point on the -th side:


where the prime symbol means all directional derivatives. These are satisfied by a blended construction—details can be found in the original paper [7].

Because of this constrained parameterization, there are less ribbon evaluations, and thus the computational cost of this surface is about 25% less than that of the Gregory patch, while there is no noticeable change in the surface [5].

3.3 Midpoint patch

Here a new degree of freedom was added to the Gregory patch, in form of a central control point :


The modified blending functions are defined as


where is a Hermite blend


Note that by definition .

The control point has the default location


but it can be used to move the center of the surface.

In this scheme we also have a new constraint on the parameterization. For points on side , it should satisfy


This can be achieved using generalized barycentric coordinates. Let us look at this in detail, as this will be the base of our new parameterization in Section 4.1.

3.4 Barycentric parameterization

Given a convex polygon with vertices , the Wachspress coordinates of a point have the following properties:


and decreases linearly on the adjacent domain edges. Now we can define side and distance parameters as


It is easy to see that this construction satisfies all requirements. An example is shown in Figure (a)a.

4 Midpoint Coons patches

We would like to combine the GC and MP patches, so that we have a computationally efficient transfinite patch with fullness control. The idea is simple: use the modified blending functions in the GC scheme:

(a) Barycentric parameterization
(b) Constrained barycentric parameterization
Figure 2: Constant parameter lines in a 6-sided domain. Side parameters of the bottom side (green), and distance parameters of the left and right sides (blue and red) are shown.

Unfortunately this is not enough. The problem is in the parameterization: it has to satisfy both Eqs. (9)–(10) and (15), which none of the original formulations were capable of.

4.1 Constrained barycentric parameterization

The barycentric parameters described in Section 3.4 already satisfy every constraint except Eq. (10). This is evident in Figure (a)a, as the blue and red constant parameter lines do not have the same tangent as the green ones near the bottom.

Looking at this figure, we can see that what we need is a new distance parameter that “behaves” as when , and as when ; but we want to retain the original for and (i.e., at the base side and at non-adjacent sides).

Note that this is a very similar problem to transfinite surfaces—we have four one-dimensional boundary constraints to be interpolated, while for points inside the domain blended values are needed. Indeed, it can be solved using the blending functions of Kato’s patch [4].

Let the values at the boundaries be


and the parameters in the corresponding square domain be


Then the new distance parameter is defined as




Note that this function is singular when , . This does not present a problem, as the parameterization is well-defined in these points.

This , combined with the original side parameter , gives a parameterization that satisfies all constraints. Figure (b)b shows the parameterization in a 6-sided domain.

5 Test results

CB 429ms 316ms 652ms 760ms 887ms 968ms
GC 321ms 276ms 466ms 536ms 616ms 673ms
MP 419ms 341ms 638ms 752ms 868ms 953ms
MC 299ms 277ms 441ms 518ms 578ms 636ms
Speedup 28.6% 18.8% 30.9% 31.1% 33.4% 33.3%
Table 1: Evaluation speed of different surface representations on a 2.8GHz machine, with a resolution of ca. 10000 triangles, showing the speedup between MP and MC patches.
Figure 3: Deviations between 5-sided MP and MC patches. Full red color means of the bounding box axis. The green region has deviation less than .

As expected, the new MC patch shows an average of 30% speedup compared to the MP patch, see Table 1.

Figure 3 shows the deviation between an MP and an MC patch. The maximum deviation is of the bounding box axis, with an average deviation of . (These values are even tighter, if the MP patch uses the same constrained parameterization.) The two patches are visually indistinguishable.

In Figure 4 we can see how the central control point affects the shape of the surface. This change has no effect on the interpolation properties, as can be seen from the contourings.


We have successfully combined two transfinite surface representations into a new one that takes the best of both worlds: fast evaluation and the ability to control the surface interior. Future work includes optimization with the GPU and the development of efficient derivative computation.

(a) Mean curvature map
(b) Contouring
Figure 4: Fullness change. The central control point is shown by a small cube.


  • [1] Michael S. Floater. Generalized barycentric coordinates and applications. Acta Numerica, 24:161–214, 2015.
  • [2] John A. Gregory. Smooth interpolation without twist constraints. In R. E. Barnhill and R. F. Riesenfeld, editors, Computer Aided Geometric Design, pages 71–88. Academic Press, Inc., 1974.
  • [3] John A. Gregory. -sided surface patches. In Mathematics of Surfaces I, pages 217–232. Oxford University Press, 1986.
  • [4] Kiyokata Kato. Generation of -sided surface patches with holes. Computer-Aided Design, 23(10):676–683, 1991.
  • [5] Péter Salvi and Tamás Várady. Comparison of two -patch representations in curve network-based design. In

    Proceedings of the 10th Conference of the Hungarian Association for Image Processing and Pattern Recognition

    , pages 612–624, 2015.
  • [6] Péter Salvi and Tamás Várady. Multi-sided surfaces with fullness control. In Proceedings of the Eighth Hungarian Conference on Computer Graphics and Geometry, pages 61–69, 2016.
  • [7] Péter Salvi, Tamás Várady, and Alyn Rockwood. Ribbon-based transfinite surfaces. Computer Aided Geometric Design, 31(9):613–630, 2014.
  • [8] Tamás Várady, Péter Salvi, and Alyn Rockwood. Transfinite surface interpolation with interior control. Graphical Models, 74(6):311–320, 2012.
  • [9] Wenping Wang, Bert Jüttler, Dayue Zheng, and Yang Liu. Computation of rotation minimizing frames. Transactions on Graphics, 27(1):2, 2008.