## Abstract

This paper proposes a framework for constructing G1 surfaces that interpolate data points on parallel cross sections, consisting of simple disjoined and non-nested contours, the number of which may vary from plane to plane. Using appropriately estimated cross tangent vectors at the given points, we split the problem into a sequence of local Hermite problems, each of which can be one of the following three types: “one-to-one”, “one-to-many” or “many-to-many”.

The solution of the “one-to-many” branching problem, where one contour on the i-plane is to be connected to M contours on the (i+1)-plane, is based on combining skinning with trimming and hole filling. More specifically, we first construct a C1surrounding curve of all M contours on the (i+1)-plane. Next, we build the so-called surrounding surface that skins the i-plane contour with the (i+1)-plane surrounding curve, and trim suitably along parts of the surrounding curve that connect contours. The resulting multi-sided hole is covered with quadrilateral Gordon–Coons patches that possess G1 continuity. For this purpose, we develop a hole-filling technique that employs shape-preserving guide curves and is able to preserve data symmetries. The “many-to-many” problem is handled by combining the “one-to-many” methodology with a zone-separation technique, that achieves splitting the “many-to-many” problem into two “one-to-many” problems. The methodology, implemented as a C++ Rhino v3.0 plug-in, is illustrated via two synthetic data sets and in the context of two realistic design examples. Finally, the paper concludes with discussing ongoing work towards improving the robustness and the applicability of the method regarding the surrounding curve construction step.

The solution of the “one-to-many” branching problem, where one contour on the i-plane is to be connected to M contours on the (i+1)-plane, is based on combining skinning with trimming and hole filling. More specifically, we first construct a C1surrounding curve of all M contours on the (i+1)-plane. Next, we build the so-called surrounding surface that skins the i-plane contour with the (i+1)-plane surrounding curve, and trim suitably along parts of the surrounding curve that connect contours. The resulting multi-sided hole is covered with quadrilateral Gordon–Coons patches that possess G1 continuity. For this purpose, we develop a hole-filling technique that employs shape-preserving guide curves and is able to preserve data symmetries. The “many-to-many” problem is handled by combining the “one-to-many” methodology with a zone-separation technique, that achieves splitting the “many-to-many” problem into two “one-to-many” problems. The methodology, implemented as a C++ Rhino v3.0 plug-in, is illustrated via two synthetic data sets and in the context of two realistic design examples. Finally, the paper concludes with discussing ongoing work towards improving the robustness and the applicability of the method regarding the surrounding curve construction step.

Original language | English |
---|---|

Pages (from-to) | 639-651 |

Number of pages | 13 |

Journal | Computer-Aided Design |

Volume | 39 |

Issue number | 8 |

Early online date | 16 May 2007 |

DOIs | |

Publication status | Published - Aug 2007 |

## Keywords

- shape-preserving interpolation
- cross sections
- G1 surfaces
- branching surfaces
- hole filling
- skinning
- trimming