G(1)-smooth branching surface construction from cross sections
This paper proposes a framework for constructing G(1) 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 C-1 surrounding 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 G(1) 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. (c) 2007 Elsevier Ltd. All rights reserved.
branching surfaces cross sections g(1) surfaces skinning trimming hole filling design reconstruction shape-preserving interpolation