
Surface fitting is an essential part of reverse engineering. Many approaches to surface approximation from a point cloud were presented in the literature. The simplest method consists of solving the leastsquares problem, starting from a base surface with all properties such as U and V degrees and knot vectors predefined. If the only remaining variables are the coordinates of the control points, the leastsquares approximation reduces to a linear problem solved by Gauss elimination. At the same time, the pure leastsquares formulation is impractical due to the following main obstacles:
The problems outlined above are partially solved by switching to a more sophisticated functional which aggregates a smoothing term with the leastsquares one [Weiss et al, 2002]. The additional smoothing term constraints all the control points of the surface. As a result, the matrix becomes regular, and the 2nd problem does not occur. Minimization of the approximate bending energy smooths out the undesired oscillations and yields a more aesthetically pleasing form (3rd problem). Still, the remaining question is how to choose the Bspline basis functions so that the surface is flexible enough while not overcomplicated. The attempts to solve the latter problem of unknown knots distribution led to the adoption of sequential fitting approaches. Such methods employ several fitting attempts followed by the local control of surface deviation. In the areas where the approximation error exceeds the prescribed tolerance, additional knots are inserted, thus making the base surface more flexible in the problematic zones.
The problem of the surface fitting is of high inherent complexity. At the same time, there are wellproven approaches which simplify the reverse engineering task by specific preparation of input. The following two requirements are especially practical for the reconstruction of organic shapes:
Topologizing the initial mesh serves the purpose of segmentation, which is the critical step of reconstruction. The properly segmented model allows for gentle and precise surface fitting while weak topology makes the quality reengineering too hard if not unfeasible. The second requirement of keeping the surface patches in their natural boundaries let us escape from using the trimmed surfaces, which are tricky to join smoothly. This second requirement affects the way how the topology structure is immersed in the mesh. Necessarily, the pure rectangular network may not express a huge variety of mechanical features whose boundaries are never chosen freely but express the designer's intent. Even so, curve networks are often used in practice. This approach, if automated, requires little user attention and the obtained result is often good enough to unlock the downstream engineering processes (such as FEA, data exchange, direct editing, etc.).
The rectangular structure of the curve network is beneficial when selecting the base surfaces for fitting. Each cell of the network allows filling with a Coons patch which in its turn has a precise Bsurface representation. Coons patches are often adequate for a valid surface parameterization, especially if the target surface is not so much curved. At the next stage, the base surfaces need to be deformed so that to follow the corresponding region of mesh.