| heal.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 script M sign-contours on the (i+1)-plane, is based on combining skinning with trimming and hole filling. More specifically, we firstly construct a G1 surrounding curve of all script M sign-contours on the (i+1)-plane, consisting of contour portions connected with linear segments, the so-called bridges. Next, we build a surface that skins the i-plane contour with the (i+1)-plane surrounding curve and trim suitably along the bridges. 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 to split the configuration into two ""one-to-many"" problems. The methodology, implemented as a C++ Rhino v3.0 plug-in, is illustrated via a synthetic example. © 2006 ACM. |
en |