G1 Filling Multi-Sided Holes

We have recently implemented the multisided surface that can connect all surrounding surfaces in G1. Moreover, our surface can represent the inner part of the irregular region fairly well.

The problem of smoothly filling multisided hole has been addressed as an interesting problem for decades. Although many approaches have been designed, there are still difficulties in building desirable surfaces on irregular regions.

Our new functionality typically solved the following problem:

Given N-Bezier patches circularly (consecutive corners should have the same surface normal), a single surface is built that connect all of them in G1.
We adopted two existing methodologies: the S-Patch which is in Bezier simplex form, and the Gregory representation. We have chosen the good part from both of them, improved the fundamental surface construction method so that our surface is flexible to make G1, as well as the surface itself is, overall, in quite natural shape.

We have incooperated this multisided surface into our GHL system.

Theoretically, our method can handle any number of sides, and any degree for boundary curves. Our current implementation can handle quadratic and cubic Bezier curves as boundary curves. We have done fairly intensive testing on 5, 6, and 7 sided surfaces, while our current implementation can handle up to 10 sided surfaces. There are no special restrictions on the surrounding Bezier patches.

It will need only little more effort to build more sided surface, or, with higher degree boundary curves.

Now, the multisided surface can be converted to triangular mesh in given tolerance; and it can also be approximated by tensor product Bezier patches.

Our next major step will be focusing on building the rational multisided surface.

Corner fillet with different rounding radii is often required, which will leave multisided region with circular and elliptical curves as boundaries. We expect the rational multisided surface can represent this kind of region well.

The following 5 pictures are produced from exactly the same data (just viewed from different directions): there are 7 Bezier patches that form a hole, and a 7-sided Gregory S-patch that fills the hole and connects all of them in G1.

If you have any special requirements, you are very welcome.

[Picture 1] [Picture 2] [Picture 3]
[Picture 4] [Picture 5]