1 Introduction
The representation of multisided 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 multisided regions into quadrilateral patches—preserving continuity along splitting curves—is also a wellresearched 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 multisided 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.2 Previous work
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 multisided 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 multisided 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.
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 crossderivatives, we want to generate a surface that interpolates these boundary conditions (in a sense, i.e., only tangent planes are reproduced). Crossderivatives can be defined automatically using a frame sweep (e.g. with a rotationminimizing frame [9]
), or semiautomatically by first fixing normal vectors at arbitrary points. We assume that the crossderivative functions are twistcompatible; otherwise rational twists can be applied
[2].Transfinite surfaces come in two flavors: sidebased and cornerbased schemes, see Figure 1. Sidebased schemes blend together sideinterpolants (foursided surfaces that interpolate one side), while cornerbased schemes use cornerinterpolants (foursided surfaces that interpolate two adjacent sides). In practice it is much easier to construct sideinterpolants, so we will define cornerinterpolants based on these, as well.
A sideinterpolant, or ribbon, for side is defined as
(1) 
where is the th boundary curve parameterized in , is the corresponding crossderivative, 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 distanceparameters, with
(2) 
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,
(3) 
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 cornerbased^{1}^{1}1Because 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:
(4) 
where the correction patch is defined as
(5) 
Here is the (common) twist for the corner .
The patch equation is simply
(6) 
where is the blending function
(7) 
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 sidebased formulation, similar in logic to the original foursided Coons patch:
(8) 
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:
(9)  
(10) 
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 :
(11) 
The modified blending functions are defined as
(12) 
where is a Hermite blend
(13) 
Note that by definition .
The control point has the default location
(14) 
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
(15) 
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:
(16) 
and decreases linearly on the adjacent domain edges. Now we can define side and distance parameters as
(17) 
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:
(18) 
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 nonadjacent sides).
Note that this is a very similar problem to transfinite surfaces—we have four onedimensional 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
(19) 
and the parameters in the corresponding square domain be
(20) 
Then the new distance parameter is defined as
(21) 
where
(22) 
Note that this function is singular when , . This does not present a problem, as the parameterization is welldefined 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 6sided 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% 
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.
Conclusion
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.
References
 [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. ComputerAided Design, 23(10):676–683, 1991.

[5]
Péter Salvi and Tamás Várady.
Comparison of two patch representations in curve networkbased
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. Multisided 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. Ribbonbased 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.
Comments
There are no comments yet.