Abstract
Multi-patch shape models of engineering objects, while adequate for representation purposes, may introduce problems related to cross-partition continuity and changing composition of individual partitions in shape optimization. Single-patch integral parameterizations may consequently be the preferred option in cases where the shape can change significantly.
In absence of any topological preparation, fitting of parametric surfaces to point clouds may be satisfactory for simple shapes. However, complex objects involving concave portions and irregular shapes require additional numerical procedures to obtain adequate structured geometry matrices for fitting which need to preserve the original topology.
The overall goal of this paper is to develop a procedure that efficiently handles difficulties related to single-partition parametric surface models of complex-shaped engineering objects. This aspiration involves obtaining a structured geometry matrix even for irregular and concave shapes and developing a dedicated method of projection into a rectangular domain. The performance of the resulting procedure is verified using real engineering objects of complicated 3D shape. Moreover, cases of numerically generated surfaces representative for changing shape compositions with emerging and/or dissolving edges are also included.
Problem formulation and related work
Parametric representation of existing 3D engineering objects is frequently needed for several purposes such as reverse engineering combined with shape optimization. Efficient parameterization as a process of assigning parametric equations to a given 3D surface or point cloud requires a sensitive trade-off between global and local representation accuracy. The multitude of the shape parameters directly maps into dimensionality of the shape optimization search space.
Multi-patch parameterizations with NURBS (Non-uniform rational B-splines) patches and CAD (Com- puter-aided Design) models are adequate for modeling fixed-shape objects. They may however introduce serious drawbacks related to continuity and constraints in shape optimization where the geometries may change dramatically. A method which generates such matrices by applying a projection procedure into a rectangular domain, is developed in this paper and demonstrated using several demanding engineering objects.
There are abundant methods for projecting 3D surfaces onto planar/rectangular domains. A good survey of several important methods and description of comparative strengths and weaknesses is given by Floater and Hormann in paper [18]. These methods are important in many areas of science and engineering such as texture mapping, repairing CAD models and representing complex shapes. Moreover, as another important purpose demonstrated in this paper, these methods are crucial in fitting parametric surfaces (NURBS, …) to CAD models obtained by 3D scanning systems. Contemporary trends in industry point towards adaptive design which requires the CAD models to be able to interact with external numerical simulation and numerical optimization processes. For example, Marinić-Kragić et al. [27] conducted multi-disciplinary optimization which requires interaction of the CAD model with different external numerical simulations. Non-standardized CAD systems are a major challenge in mutual exchanging of geometric models. To solve these problems, different data exchange methods exist. A strategy related to feature interoperability and sketch interoperability is presented by Zhang et al. [50], where a new asymmetric method was developed and tested. One-dimensional topology-based matching is addressed by Li et al. [24]. CAD models also need to be sufficiently generic and flexible to evolve and represent changes of the shapes during optimization. Standard CAD models obtained by 3D scanning systems are not suitable for such optimization workflows. They should be converted to parametric surfaces such as the non-uniform rational B-splines (NURBS) which are typically used to represent complex shapes of engineering objects and which are suitable for modifying geometries. NURBS require regular grid parameter domains and implement local refinement by inserting knots which increases the number of control points. Piecewise NURBS parameterizations and the mathematical model of T-splines (introduced by Sederberg et al. [41]) are widely used parametric models which bypass these drawbacks of single-patch NURBS parameterizations. There are many comparisons of the above models in a variety of applications. Dimitri et al. [10] used T-spline-based isogeometric analysis in the context of isogeometric analysis of large-deformation contact models. The authors note the discontinuity across patch boundaries, global refinement and a large percentage of NURBS control points needed to satisfy topological constraints as the main disadvantages of multiple NURBS patches in compared to T-splines. A subdivision algorithm that generalizes NURBS to arbitrary topologies is used by Riffnaller-Schiefer et al. [34] in the framework of isogeometric analysis. The lack of linear independence of the basic functions of the T-intersection is a drawback because of which the authors consider subdivision surfaces as a better choice than T-splines for isogeometric analysis. In isogeometric analysis, the Nitche’s method of coupling non-conforming 2D and 3D NURBS patches is applied by Nguyen et al. [30]. The authors also discuss single-patch vs. coupled-patch parameterizations. Dimitri et al. [11] outline the advantages of T-splines in isogeometric analysis applied to modeling of the cohesive zone for interface debonding. Li and Scott [25] elaborate on key features of T-splines which are of great importance in modeling and analysis. The authors in [48] applied chained Bezier surfaces in shape modeling for optimization.
Application of genetic algorithms with simplified open meshes without sacrificing modeling accuracy in feature zones is developed by Campomanes-Alvarez et al. [6]. In terms of using the Hidden Markov model, Meraoumia et al. [29] applied variance measures and principal component analysis in compressing feature-related information. Combining two approaches of sampling in binary classification is proposed by Seifert et al. [42].
Multi-patch piecewise NURBS and T-splines are convenient in geometric modeling of complex shapes. Nevertheless, dynamically changing shapes arising in shape optimization processes present new challenges as the respective shapes may experience major transformations during the course of optimization. The parametric representation of the shape of the object must be able to represent such geometric change. The parameterization must therefore be rather versatile. While only relying on a compact set of shape parameters, it must ensure wide and unbiased shape modeling freedom with sufficient local representation accuracy. If multi-patch piecewise models and subdivision surfaces are applied, smoothness and continuity at patch interfaces for NURBS models and reparameterization for T-spline models arise as additional concerns along with their impact on the overall shape optimization convergence. Consequently, comprehensive additional numerical procedures are needed involving iterations which are very costly in terms of computation time.
Simultaneous optimization of topology, shape and size parameters is numerically viable using evolutionary algorithms, Sarma and Adeli [39], Kociecki and Adeli [22].
Genetic algorithms with parallelization are demonstrated in [1, 2, 20, 40].
The critical position of adequate parameterization (NURBS, T-splines, …) in shape optimization has led to different approaches based on different mathematical models [7, 8, 9, 10, 11]. Standard environments of CAD programs include parametric curves and surfaces such as NURBS [5, 43] in the respective libraries and provide for modeling complex geometries [4, 15, 35]. They now include tools for fitting parametric surfaces to point clouds and triangulated surfaces [26, 28, 31, 38]. Several papers elaborate on fitting parametric surfaces to point clouds [12, 13, 14, 23, 26, 31].
When representing complex shapes by parametric surfaces, projecting to planar rectangular domains arises as a necessary step in the overall numerical procedure.
Projecting to planar domains almost always introduces distortions in angles and areas which should be minimized depending on the application. Harmonic maps [16, 33] are often used since their approximation can be computed easily, usually by finite element of finite difference methods which result in linear systems of equations. Furthermore, harmonic maps are guaranteed to be one-to-one for convex regions. Harmonic projection in the general case is not conformal (does not preserve angles) but it does minimize deformation in the sense of minimizing the Dirichlet energy.
These properties make harmonic projecting popular, but other methods are also used.
Su et al. developed a mesh projection procedure based on optimal mass transportation in [46]. The same way as in harmonic projections, the differential equation is approximated with a linear solution. In [45], Su et al. outline a volumetric parameterization based on a composition of the volumetric harmonic map and the optimal mass transportation.
Floater and Reimers [17] proposed a heuristic method called the meshless parameterization method for projecting 3D points into planar domains. The method does not require a surface mesh but only a set of unorganized points. Methods aiming specifically at fitting NURBS surfaces to surface meshes have also been developed. These methods require a projection of the 3D surface to a rectangular planar domain. In [3], a method based on the spring analogy for projecting an unstructured surface mesh to a rectangular domain is proposed and tested using the example the of NACA 4415 wing represented by a triangular surface mesh. The method is composed of multiple steps but the most important one is the construction of a network of connected springs from the edges of triangulated mesh. The stiffness of the springs is inversely proportional to the length of the corresponding edges. All four corner points of the mesh (spring network) are fixed in the four corners of the planar rectangular domain and the rest of the mesh boundary points are fixed between them. The remaining mesh points are free to move, implying that their final locations within the rectangular domain are obtained from the equilibrium of forces. This is obtained by solving an easily produced linear system of equations, making this method computationally efficient. Earlier methods are usually applied to open meshes, but they can be used even for closed meshes if the mesh is split into two open mesh segments with a common boundary. Methods for directly projecting closed meshes to a sphere also exist [19].
Sheffer et al. [44] presented an extension of the Angle Based Flattening (ABF) method, named ABF
Introduction
The paper starts by formulating the problem and reviewing different related approaches in the literature. The introductory section announces the approach developed in the paper and explains the problems faced by methods of fitting without projection. Next, the basic NURBS model is explained along with its employment in fitting to point clouds, whereby the problem of deriving structured geometry matrices is the focal point. In Section 4, the originally developed projection method into a rectangular domain is proposed such that structured geometry matrices can be obtained even for concave surfaces or clouds. Section 5 proceeds by testing the procedure using several demanding objects: sailing boat hull, formula-student body shell, a clutch component, and a numerically generated surface consisting of different compositions of a cube and spheres providing for arising/disappearing edges during shape optimization. Summarized pseudo-code of the proposed method is given in Appendix A.
Here we outline the proposed projecting method which evolved from our NURBS fitting approach. The proposed method does not rely on the above mentioned methods, instead it presents a completely different approach to projecting. It is developed for projecting open geometries into rectangular domains for 3D shape parameterization and uses the shortest path between a given source vertex and all other boundary vertices in the graph (see Section 4) for calculating the projected 2D points. It is based on the principle of relaxation such as the Dijkstra’s algorithm or the Bellman-Ford algorithm, but differs from them as it does not calculate the shortest path between a given source vertex and all other vertices in the graph but only between the source vertex and boundary vertices. The major benefit of the proposed method is due to the fact that it preserves the geometric topology needed for NURBS fitting. On the other side, its major drawback is significantly higher numerical complexity with respect to the above mentioned methods, which will be discussed later. If some numerical workflow based on graph theory has already calculated all shortest paths, the proposed method offers a reasonable solution, at least as a test solution.
Difficulties when fitting without projection
Most engineering objects do not possess geometries suitable for parallel sections from a single direction without additional topological interventions such as the projection into a rectangular domain. Several severe problems occur with fitting without projection into a rectangular domain.
One of the frequently faced problems arises when fitting a parametric surface to a concave geometry, where the resulting parametric (NURBS) model may contain a portion which does not exist in the original model (
Parallel sections of non-convex geometry.
It is clear that the first column of the matrix
NURBS surface inadequately representing a non-convex geometry based on parallel sections of initial geometry (Fig. 1).
Another problem appears when the projection of surface from one direction (in our case
Parallel sections (by parts) of closed geometry – non-isomorphic geometry.
Fitting a NURBS surface to such a matrix
NURBS surface of non-isomorphic geometry based on parallel sections of initial geometry (Fig. 3).
This paper is focused on single-patch parametric surface representations (i.e. NURBS) of complex objects which is of critical importance in engineering shape optimization. An important precondition for an efficient implementation of such a procedure is the initial fitting of the parametric surface to the existing shape given by its geometry. The concept of ‘geometry’ represents a triangulated point cloud obtained by 3D scanning denoted as
The NURBS surface is formulated based on
The control points matrix
while the matrix
The arguments
The intention is here to represent an actual shape by a NURBS surface which implies fitting the surface to the corresponding geometry which needs to have a matrix topology according to Eq. (3).
This topology consists of
Parallel sections illustration of 
Nevertheless, the structure of the matrix
The matrix data-set topology in Eq. (3) can be obtained by choosing new (
With
An
which provides the new
In Eq. (4), the interval where the point
Fitting a NURBS surface to the geometry matrix
Fitting the NURBS surface to the geometry matrix
The proposed formulation of the fitting procedure Eq. (3) developed by the authors augments the problem by introducing the matrices of parameter values
The number of control points and the homogenous terms in Eq. (3) is
The Levenberg-Marquardt method is applied for the resulting enhanced best-fitting problem with
Best-fitting a NURBS surface to the boat hull point cloud using
More details about the proposed parametric model and its applications can be found in Ćurković et al. [8].
Best-fitting according to Eq. (3) for the boat hull example.
The geometry matrix
The following section of the paper develops a procedure of projecting the geometry into a rectangular domain. This approach avoids the problems demonstrated above and also contributes to the numerical quality of the fitting procedures developed earlier.
The proposed method is based on algorithms from graph theory and consists of a sequence of steps described next and accompanied by Fig. 7 where the convex geometry of sailing boat hull without transom is chosen for demonstration.
The developed procedure of projection into a rectangular domain. (a) Geometry of sailing boat hull without transom (to be projected); (b) Projection into rectangular domain.
With the definition of an undirected graph as a pair of sets (
As first, the boundary contour is extracted - points denoted as Four key points of the boundary contour In the third step, the boundary contour is projected between the respective corner points. The spacing of the For each point For a given number of sections
for each point
is determined such that the plane Graphical distances from point The projection The position of the projection of a point
where
The main complexity of the proposed method is due to the step (iv), where for each point of the interior surface (
Like other methods of 2D projection, the proposed method also uses four key points to constitute a rectangular domain. In theory, the projection could be done with three points, but in that case it would give up the parametric topology resulting from the integral parametric models (NURBS, …). The ‘good’ parametric topology implies that the control points of the parametric model exhibit impact on geometrically equally demanding areas. In the case with only three key points this is not case because one of the three key points is represented by a whole column/row of control points. That situation would cause bias for some part of the geometry, which would in optimization terms lead to local optima which is not numerically acceptable.
The final calculation for each projected point includes averaging values of
Using parallel sections with the rectangular domain (Fig. 8a) provides points whose values are replaced by corresponding points of the original geometry by virtue of geometric topology. This procedure enables the entire geometry to be embraced, and the geometric topology of the sections provides an excellent initial solution for fitting procedures.
Corresponding sections in rectangular domain and original geometry. (a) Sections in the rectangular domain; (b) Sections in the original geometry.
The following two examples demonstrate successful fitting of the NURBS surface after projecting into a rectangular domain according to the method developed in this paper. Figure 9 shows that the concave part of geometry is not a problem any longer by virtue of the developed procedure, and the curvature from the left to right side is gradual which is important in terms of convergence of the fitting process.
Sailing boat, partial hull with concave geometry: (a) projection into rectangular domain; (b) NURBS surface 15 
Sailing boat hull with transom. (a) Proposed projection into rectangular domain; (b) NURBS surface 15 
The developed procedure applied to the shell of the student formula racing car. (a) Point cloud after optical 3D scanning of student’s formula student shell; (b) Proposed projection into rectangular domain; (c) NURBS surface, 20 
The next example (Fig. 10) demonstrates the successful fitting of an integral NURBS model on the non-isomorphic geometry implemented by the proposed projecting method. The possibility of fitting such a geometry using a single-patch NURBS model (instead of the common multi-partition approach) is highly welcome in shape optimization, where the geometric model may be exposed to significant change during the course of iterations in optimization quasi-time.
Another demanding test-case of a complex geometry where it is virtually impossible to fit a single-patch parametric model without projecting into a rectangular domain is the formula-student shell as shown in Fig. 11. Projecting the respective geometry into a rectangular domain according to the procedure developed in Section 4 makes this complex single-patch fitting problem viable.
In order to demonstrate how the developed procedure can be applied for closed geometries (in literature also called ‘watertight’), we chose the numerically generated example of spheres emerging from a cube, Fig. 12.
Parametrization of closed geometry – numerically generated sample. (a) Closed geometry; (b) The bottom part of the geometry (a); (c) Projection into rectangular domain of (b); (d) NURBS surface of (b) using (c), 35 
The generated geometry (Fig. 12a) is subdivided by a plane in two separated parts. Each part (Fig. 12b shows the bottom part) is projected into a rectangular domain (Fig. 12c shows the bottom part) and parameterized using a NURBS surface (Fig. 12d shows the bottom part). To make a complete NURBS model of the initial geometry, we just connect the two separate NURBS surfaces into a global one (Fig. 12d). This way there is no bias for any part of the geometry and the control points of NURBS surface are equally distributed. In the above example, continuity is not explicitly provided for as it is not in the focus here.
With respect to the proposed approach with two separate parameterizations based on projection into a rectangular domain, Fig. 13 shows the parametrization of the same closed geometry (Fig. 12a) based on the matrix form of geometry obtained by standard intersecting from a pole.
Parametrization of closed geometry using intersecting from a pole. (a) Matrix form of the geometry obtained by intersecting from a pole at different angles; (b) Single NURBS surface of (a), 50 
It is obvious that this way of generating the matrix form of the geometry generates bias in the distribution of the control points. In areas around the chosen pole(s) there is dense distribution of the control points (front part of Fig. 13b), while in other parts of the geometry there are insufficient control points to represent the geometry in a satisfactory way (top part of Fig. 13b).
The next figure, Fig. 14, shows the possibility of projecting into a rectangular domain of a geometry with a hole. In order to generate a single-part connected boundary contour, the geometry is intersected between the inside and outside circle of the boundary. The four key boundary contour points lie at the ends of the intersection line and they are set as
Selection of the boundary contour of geometry with included hole. (a) Geometry including a hole; (b) Boundary contour with key four points.
Spring analogy method – projecting geometry of sailing boat hull into a rectangular planar domain. (a) Projected geometry; (b) NURBS surface 15 
We also implemented projections of the sailing boat hull test-case using two other projection methods: method based on spring analogy [3] and the widely used harmonic projection [16], both shown in the figures bellow, Figs 15 and 16.
The computational stretch
The computational stretch
The computational shear
Harmonic projecting – projecting geometry of sailing boat hull into a rectangular planar domain. (a) Projected geometry; (b) NURBS surface 15 
The method with a spring analogy (Fig. 15) results in a slightly wrinkled mesh. Since this effect is transitive, the matrix form Eq. (3) of the geometry can also become wrinkled. This appearance directly affects the positioning of control points of the parametric model, which in terms of shape optimization causes worse convergence properties. The wrinkling effect of the projected mesh is more pronounced for geometries where significant difference in size is present for adjacent triangles. On the other side, the projected mesh created by harmonic projection, Fig. 16, completely keeps the topological features from the original geometry and behaves wrinkle-free. The result of the proposed method is illustrated in Fig. 17.
Computational time in seconds
Proposed method – projecting geometry of sailing boat hull into a rectangular planar domain. (a) Projected geometry; (b) NURBS surface 15 
We use two metrics to measure the parametric distortion. Using the same formula as Sander et al. [36] we give the
The next table presents the computational time for the same examples.
This paper develops a method for projecting geometries of 3D objects into rectangular domains, for example for point clouds obtained by optical surface scanning. The developed approach makes it possible to obtain well-structured geometry matrices even for complex-shape objects, thereby preserving the original topology. The developed approach solves the problems related to non-isomorphic geometries and those involving concave portions. The proposed method can qualitatively be compared with the spring-mesh and harmonic projection procedures. Unlike the former, the developed method does not generate wrinkling, and may perform similarly to the latter if the shortest-path information exists for the internal mesh points. Generally however, the method is more computationally-intensive in most cases as it involves a multitude of shortest-path sub-problems.
Future work related to the developed procedure will proceed in several directions. The parameterization approach will be tested using complex geometries of engineering objects both in terms of single-patch models and multi-partition models. Within the framework of shape optimization, the procedure will also be evaluated in demanding cases of dynamically changing geometric topologies (as imposed by the shape optimizer). In such cases edges may disappear and arise, thereby also changing the partitioning schemes. In future work, in order to deal with 3D big data, we plan to enhance the proposed method using efficient geometric algorithms and GPU-based computation.
Footnotes
Interior surface
Acknowledgments
This work was supported by the Croatian Science Foundation [grant number IP-2014-09-6130].
Appendix A
The following is the key part of the proposed pseudo code for calculating the shortest distances for each point of the interior (
The overall proposed procedure is shown in Algorithm 1.
Matrix Connections from each interior point to its neighbors: nConn; Distances from each interior point to its neighbors: nDist;
Sharing the job into threads by splitting the indices of interior nodes
better path found
newChange
D[nConn[
newChange
Due to splitting the calculation into threads by indices there is a possibility of loosing global connectivity. Consequently, we cannot be sure that the shorthest paths in the matrix
We also tried machines with less and with more cores/threads, but for proposed examples the optimum was 8 cores. Fewer cores means increasing the job per each thread, but the last global thread with all indices is almost unemployed. On the other hand, in the case with many cores, the job per each thread is not extensive, but because of weak connectivity, the last global thread needs to do almost the full initial problem.
