In this section we present a method thought to build 3D quadrilateral instances from triangulated meshes suitable for data-based models with geometric parameters. This method allows us to identify the main shape variations. Quadrilateral mesh topology needs to be the same among all snapshots. We also strive to place vertices in a geometry-aware manner, i.e., all isotopological meshes have analogous points in the whole mesh. These constraints can be satisfied using our framework based on topology and geometry aspects.
Topology and parameterization prerequisites
Following prerequisites introduce briefly basic notions of geometry and topology that are needed to present our work. The interested reader unfamiliar with those concepts can find relevant detailed information in the cited references and in the corresponding literature.
Topology context and related work Topology is the study of properties like continuity, connectedness and boundaries of a space that are preserved under continuous deformations, such as bending and stretching, but not tearing and gluing. A homeomorphism is an isomorphism that admits a continuous function between two topological equivalent spaces that has a continuous inverse function. We are interested on transformations that preserve all the topological properties of a given space. Homeomorphic spaces admit a homeomorphism between them, thus topological spaces are equivalent. See Hatcher [22] for more details.
A surface M is a 2-manifold, i.e., a topological space in which each point has a neighborhood homeomorphic to either the plane \(\mathbb {R}^2\) or the closed half plane \(\mathbb {R}^2_+\). Points with closed half-plane neighborhood are defined as the boundary \(\partial M\) of the surface M. In the following we investigate only connected, orientable, compact surfaces with boundaries. Genus of a connected and orientable surface M (i.e., a 2-manifold embedded in \(\mathbb {R}^3\)) is the maximum number of non-intersecting closed curves which can be drawn on it without disconnecting the surface. With these definitions, taking into account a genus-g surface M possibly with b boundary components, we can now define the topological invariant. This invariant used to classify surfaces is called Euler characteristic: \(\chi (M)=2-2g-b\). If M is a triangulated surface with vertices V, edges E and faces F, we can define the characteristic as \(\chi (M)= \dim (V)-\dim (E)+\dim (F)\). An example of Euler characteristic is provided in Fig. 3a. We note that surfaces with different Euler characteristic cannot be homeomorphic.
We define a homology basis for M to be any set of 2g cycles whose homology classes generate the first homology group \(H_1\) [17]. Cutting along these cycles yields a genus-0 surface. The set of all handle and tunnel loops form a homology basis. Suppose a closed surface \(M \subset \mathbb {R}^3\) separates \(\mathbb {R}^3\) into a bounded space \(\mathbb {I}\) and an unbounded space \(\mathbb {O}\). Handle and tunnel loops on M can be defined as follows. A loop \(a_i\) is a tunnel if it spans a disk in the unbounded space \(\mathbb {O}\). A loop \(b_i\) is a handle if it spans a disk in the bounded space \(\mathbb {I}\).
Pants decomposition was studied in Hatcher et al.[23], subsequent work has been done to find the optimal segmentation of a given surface into relevant pants patches [12] using the shortest homology basis [26]. Geometry-aware pants decomposition has been also investigated by Zhang and Li [53]. Li et al. [34] developed a pants decomposition framework for computing maps between surfaces with arbitrary topologies. An example of pants decomposition using a homology basis can be seen in Fig. 3b. More recently, Hajij et al. [21] tried to segment surfaces into pants using a morse function.
Let \(M_{g,b}\) be a surface of genus g with b boundary components. A pants decomposition of \(M_{g,b}\) is a collection of pairwise disjoint simple cycles that splits the surface into pants patches. Each pants patch is a genus-0 surface (topological sphere) with 3 boundaries. We assume that M is a surface with negative Euler characteristic, i.e., M is none of the surfaces \(M_{0,0}\) (topological sphere), \(M_{0,1}\) (topological disk), \(M_{0,2}\) (topological cylinder) and \(M_{1,0}\) (topological torus). In this case pants decompositions of M do exist, and each pants decomposition consists of \(3g + b - 3\) curves and divides M into \(2g + b - 2\) pants patches.
A direction field defined on a surface M is a tangent unit vector field: at each point of the surface, there exists a direction u such that \(\Vert {\mathbf {u}} \Vert = 1\) and \({\mathbf {u}} . {\mathbf {n}} = 0\), where \({\mathbf {n}}\) is the normal of M. A N-symmetry direction field \({\mathcal {U}}\) is a multivalued direction field: at each point of the surface M, there exists a N-symmetry direction \({\mathbf {u}}\) which is a set of N directions \(\lbrace {\mathbf {u}}_1, {\mathbf {u}}_2, . . . ,{\mathbf {u}}_{N-1}, {\mathbf {u}}_N \rbrace \) preserved by rotations of \(2 \pi /N\) around the normal \({\mathbf {n}}\) of M. These fields are subject to the well known Poincaré-Hopf theorem for a 2-dimensional manifold M. If M has boundaries, the vector field must be pointing in the outward normal direction along them (for higher symmetries, see the boundary number theorem [49]).
Used mapping techniques
Different approaches of mapping exist. In our case, we are interested in mappings or parameterizations which map a surface M embedded in \(\mathbb {R}^3\) to a canonical domain D in \(\mathbb {R}^2\). Throughout the paper, triangulated disk-like surfaces M with vertices V, edges E and faces F are considered for parameterization. For instance, techniques to map a multiply connected surface already exist [52]. We use discrete harmonic mapping to solve parameterizations on disks. Harmonic mappings have attributes derived from conformal parameterization, but there is no guarantee on angles. To proceed we construct a harmonic function \(f: M \longrightarrow \mathbb {R}\) such that \( \Delta f=0\). Harmonic maps minimize Dirichlet energy:
$$\begin{aligned} E_D(f)=\frac{1}{2} \int _M \Vert \nabla f \Vert ^2 dM. \end{aligned}$$
(1)
The surface boundary \(\partial M\) is first mapped to the boundary of the parametric domain and then the parameterization for the interior vertices is obtained by solving the linear system:
$$\begin{aligned} \Delta _{w}f(v_i)=\sum _{j\in N_i} w_{ij} (f(v_j)-f(v_i)) . \end{aligned}$$
(2)
where \(v_i\), \(v_j\) \(\in V\), \(N_i\) is the neighborhood of \(v_i\), and \(w_{ij}\) is the scalar weight assigned to the oriented edge \(e_{ij}(v_i,v_j)\). Different parameterization methods assign different weights \(w_{ij}\). The first definition of weight was introduced by Tutte [51]. In the parameter space, each vertex is placed at the barycenter of its neighbors. Recently, Saboret et al. [50] have implemented a CGAL package handling some of the state-of-the-art surface parameterization methods such as least squares conformal maps, discrete conformal map, discrete authalic parameterization, Floater mean value coordinates or Tutte barycentric mapping. In this context, we use mean value coordinates introduced by Floater [18]. According to the Rado-Kneser-Choquet theorem, if weights are positive and the boundary \(\partial M\) is mapped homeomorphically in a convex square parametric space, the mapping driven by the harmonic function f has to be bijective. This allows us to determine bijective mappings in order to avoid fold-overs in the smart model decomposition part, see e.g. “Smart model decomposition” section.
Smart model decomposition
In order to build valid quadrilateral layout to determine the surface parameterization, we proceed in two steps: geometry-aware pants decomposition (“Geometry-aware pants decomposition” section) and feature-aware cuboid decomposition (“Feature-aware cuboid decomposition” section). Pants decomposition and cuboid decomposition are constructed to respect the topology of the input triangulated surface and consider features. Cuboid decomposition approximates very roughly the geometry while faithfully replicating its topology taking into account sharp edges and vertices. Due to its patch regular structure, it can serve as parametric domain needed for pure 3D quadrilateral mesh computation.
Geometry-aware pants decomposition
Closely related literature approaches and algorithmic prerequisites We focus on the decomposition of a triangulated surface into a set of pants patches \(\lbrace T_i \rbrace \). Pants decomposition provides a canonical decomposition scheme for common surfaces. \(\chi =-1\) for a pants patch, therefore a pant is the simplest topology after the sphere, disk, cylinder and torus. Many algorithms take as input handle or tunnel loops for genus-g surfaces to segment into pants patches [34]. The handle loops required for automatic pants decomposition are computed using the technique presented by K. Dey et al. [25]. An improvement was also developed by the same group [16]. In the following, we reuse the pants decomposition algorithm of Al-Akhras et al. [4] in order to integrate a most recent method.
New extensions According to previous work presented by Al-Akhras [3], we introduce an extension to enumerate the entire space of topological pants decomposition possibilities at each step. In other words, instead of picking 2 boundaries in an arbitrary manner, we suggest to take all couples of 2 boundaries among all non-repeating and commutative combinations when determining a pants patch relative to the considered step. Besides, giving some feature points, our new algorithm is able to determine a pant by slicing the mesh along a cycle passing across these locations.
User inputs User manual inputs are reduced to feature points selection in order to guide the decomposition passing through these points of interest. For other used geometric criteria, they are suggested to the user.
Feature-aware cuboid decomposition algorithm Given the homology basis formed by handle and tunnel loops, we can take a subset H composed of g simple pairwise disjoint handle loops \(\lbrace h_1,h_2,...,h_{g-1},h_g \rbrace \). Slicing surface M with b boundary components along its g handle loops will lead to a genus-0 surface with \(2g+b\) boundary components denoted as \(W=\lbrace w_1,w_2,...,w_{2g+b-1},w_{2g+b}\rbrace \). We iteratively pick two boundaries \(w_i\) and \(w_j\) from W (see algorithm 1) taking into account combinations and compute a new simple cycle \(w_{ij}\) to bound them, i.e., \(w_{ij}\) is homotopic to \(w_i \circ w_j\). The three cycles \(w_i\), \(w_j\) and \(w_{ij}\) bound a pants patch \(T_k\). We remove this pants patch \(T_k\) from M. The remaining patch is still genus-0 but its boundary number reduces by 1: the two cycles \(w_i\) and \(w_j\) are removed, and one new cycle \(w_{ij}\) is inserted. This is iteratively performed until \(\vert W \vert = 3\). This idea is formulated in Algorithm 1, and the operation that traces a cycle \(w_{ij}\) homotopic to cycle \(w_i \circ w_j\) is formulated in Algorithms 2 and 3.
Choice of the geometric criterion Shortest length of cycles on weighted triangulated meshes are computed using a Dijkstra’s algorithm based on weighted tree graphs. A CGAL package exists to compute these paths [29]. Different geometric criteria can be used to guide the pants decomposition. Geometric criterion can be adapted to the mesh M. In algorithm 2 and also in Algorithm 1 to sort loops in L, this can be changed for areas of minimum curvature [31], minimum length or symmetry. For instance in Fig. 4c pants decomposition is performed using loops with minimum length, whereas in Fig. 4d decomposition is made by symmetry. In Fig. 5, user selected feature points are given to guide the pants decomposition. All of these guidings yield a geometry-aware decomposition.
Discussion on robustness A common surface admits infinitely many pants decompositions. In general, not all pants decomposition results are suitable for the next step of our algorithm. By correctly defining feature points (in general a very small set of points) to lead the segmentation, the algorithm succeeds. If the pants decomposition is guided by the different geometric criteria presented above, we obtain satisfying results for all our test cases.
Feature-aware cuboid decomposition
Closely related literature approaches Pants patches provide a very simple topology and hence each pants patch can be treated separately. Li et al. [32] presented a method that generates cuboids per pants patch with a given user data input. Al-Akhras [3] improved it in order to perform the decomposition in a way that it does not require any input from the user. Nevertheless, developed techniques do not consider sharp features and deal with a simple cuboid decomposition scheme. They both try to generate corners and polyedges on each pants patch \(T_i\) and decompose it into a set of cuboids, each having 8 corners and 12 polyedges in order to construct a volumetric parameterization. In addition, these two previous approaches do not handle complicated cuboid configurations and generated arcs and nodes are not necessarily positioned onto features of the input surface mesh. Finally, prior automatic processes restrict the placement of the quadrilateral layout nodes in specific areas, e.g. using harmonic functions.
New extensions Our work presents an extension to handle more complicated geometry especially with sharp features. First, on each pants patch the number of quadrilateral patches \(n_{\mathbb {Q}}\) is set to respect sharp vertices and edges: we aim to perform a feature-aware cuboid decomposition. Indeed, optimal number of quadrilateral patches depends on the features embedded into the considered pants patch. Secondly, irregular vertices of the layout with a valence \(v \ne 4\) are placed onto relevant areas with high concentrated Gaussian curvature and/or with significant features.
Algorithmic prerequisites The space of valid quadrilateral layouts \(\mathbb {Q}\) is defined in equation (3). A quadrilateral layout is composed by arcs and \(n_n\) nodes of valence \(v_i\). Cuboid configurations \(\mathbb {C}\) decompose a surface into a set of quadrilateral patches which are ready for hexahedral meshing due their cubic structure. In this paper, the cuboid decomposition is dedicated only to surface decomposition. Indeed, this work only focuses on structured quadrilateral meshes.
$$\begin{aligned} \forall v_i \in \mathbb {Q}, \sum _{i=1}^{n_n} \left( 1-\frac{v_i}{4}\right) =\chi (M)_{Closed}=2-2g. \end{aligned}$$
(3)
User inputs To reach the feature-aware cuboid decomposition goal, manual user inputs are necessary. Depending on the pant geometry and features to replicate in the cuboid decomposition, 2 inputs are mandatory. Using a cuboid configuration templates library, a segmentation layout is choosen by the user; thus involving the wish to suit the desired features of the pant into the decomposition. Then, the structure of the requested template requires the manual selection of its asscociated feature points. Nature of these features is automatically suggested and the user has just to specify their location.
Feature-aware cuboid decomposition algorithm The 3 boundaries of a given pants patch will be arbitrarily denoted by \(B_1\), \(B_2\) and \(B_3\). We process these pants patches one by one in an arbitrary order. To guarantee cuboid corner alignment, when we determine one pants patch’s result, we transfer its corners on the boundaries of the adjacent pants patches if they are not processed yet. Notice that just a general algorithm with the most relevant specifications is provided using a simple decomposition scheme of 4 cuboids per pant patch.
Step 1. We generate 3 feature cutting curves \(W_{S1}\), \(W_{S2}\) and \(W_{S3}\):
- [A]:
-
We compute 3 discrete harmonic functions: \(f_1\), \(f_2\) and \(f_3\). To compute \(f_i\) , we set \(f_i = 0\) for vertices on the boundary \(B_i\) and \(f_i = 1\) for vertices on the remaining two boundaries \(B_j\) and \(B_k\) . Then we solve \(\Delta f_i = 0\) using mean value coordinates. Figure 6a.
- [B]:
-
Each harmonic function \(f_i\) has one minimum component and two maximum components. Among a set C of \(n_c\) feature cutting points \(C=\lbrace c_0,c_1,...,c_{n_c -1},c_{n_c } \rbrace \), let \(\overline{f_i}=min [f_i(c_i)] \,\,, \forall c_i \in C\). Then a temporary non-feature cutting curve \(W_{Ti}\) is defined as the isoparametric curve of the function \(f_i\) for the value \(\overline{f_i}\). Figure 6b.
- [C]:
-
We remove a long branch, i.e., by cutting along its temporary cutting curve \(W_{Tk}\). After filling the cutting hole, the resulting patch is a topological cylinder with 2 boundaries \(B_i\) and \(B_j\). We denote this temporary patch by \(P_{Tk}\). Figure 7a–c.
- [D]:
-
Using previously computed temporary patches \(P_{Tk}\), we first set \(u = 0\) for vertices on \(B_i\) and \(u = 1\) for vertices on \(B_j\) , then solve \(\Delta u = 0\). Using an approach close to Zeng et al. [52], among all iso-v curves along \(\nabla u\) starting from \(B_i\) and \(B_j\), we automatically select two relevant curves who are intersecting the filled boundary \(B_k\), one starting from temporary seed point \(s_{Tik}\) on \(B_i\) and one starting from temporary seed point \(s_{Tjk}\) on \(B_j\). Figure 7d–f.
- [E]:
-
By performing this previous task on each temporary patch \(P_{Tk}\), we obtain 6 temporary seed points \(s_{Tij}\), \(s_{Tik}\), \(s_{Tji}\), \(s_{Tjk}\), \(s_{Tki}\) and \(s_{Tkj}\). Working on all patches \(P_{Tk}\) we plot an iso-v curve along \(\nabla u\) from the seed vertex \(s_{Tik}\) on the boundary \(B_i\) to the seed vertex \(s_{Tjk}\) on boundary \(B_j\). We slice \(P_{Tk}\) along this iso-curve and get two duplicated boundary paths. We finally set \(v = 0\) and \(v = 1\) on them respectively and solve \(\Delta v = 0\) to obtain 3 oriented temporary unit-square maps denoted \(U_{Tk}\) with corners \(\lbrace s_{Tik},s_{Tjk},\overline{s_{Tik}},\overline{s_{Tjk}} \rbrace \). \(\overline{s_{Tik}}\) and \(\overline{s_{Tjk}}\) are duplicated points of \(s_{Tik}\) and \(s_{Tjk}\) respectively. Notice that triangles from filling are removed during \(U_{Tk}\) computation. Figure 8a.
- [F]:
-
Points in C are mapped into each unit-square map \(U_{Tk}\) and automatically classified using parametric coordinates u and v. Then we perform partial line inverse mapping between each classified cutting points \(c_i\) related to relevant \(U_{Tk}\) and merge computed lines to obtain valid feature cutting curves \(W_{S1}\), \(W_{S2}\) and \(W_{S3}\). Figure 8b, c.
Step 2. We generate 3 feature-aware oriented unit-square maps denoted \(U_{k}\):
- [A]:
-
We remove a long branch by cutting along its feature cutting curve \(W_{Sk}\). We proceed like Step 1 [C] to obtain a feature-aware cutting patch \(P_{k}\).
- [B]:
-
Using the same workflow of Step 1 [D] feature seed points \(s_{ik}\) and \(s_{jk}\) are determined.
- [C]:
-
Using the same workflow of Step 1 [E], we obtain 6 feature seed points \(s_{ij}\), \(s_{ik}\), \(s_{ji}\), \(s_{jk}\), \(s_{ki}\) and \(s_{kj}\). Then 3 feature-aware oriented unit-square maps \(U_k\) are extracted.
Step 3. We generate all arcs of \(\mathbb {Q}\):
- [A]:
-
According to Step 1 [F] feature cutting arcs \(W_{Sk}\) have already been computed. We keep \(W_{S3}\) passing through all cutting feature points. Figure 9a.
- [B]:
-
Among a set D of \(n_d\) feature boundary points \(D=\lbrace d_0,d_1,...,d_{n_d -1},d_{n_d } \rbrace \), we map these points into corresponding maps \(U_k\). Using automatic classification with parametric coordinates u and v, we pair on each relevant \(U_k\) points in D possibly with feature cutting points in C. We perform partial line inverse mapping to obtain arcs of the quadrilateral layout. Boundary arcs are determined directly in the physical space. Figure 9b.
- [C]:
-
Consider a non-empty set O of \(n_o\) common feature points \(O=\lbrace o_0,o_1,...,o_{n_o -1},o_{n_o } \rbrace \). We proceed like Step 3 [B] by pairing on each relevant \(U_k\) points in O possibly with C or D.
- [D]:
-
Remaining arcs of the quadrilateral layout or cuboid configuration (see equation (3)) are computed using partial line inverse mapping into relevant \(U_k\) with points in D, O or in C. Other arcs and points are then obtained by line-line intersection analysis. Figure 9c.
With feature points in C (see Step 3 [C]) or other feature points in D or O, a huge variety of shapes can be decomposed into cuboids and hence handling more complex geometry cases is possible. To go further, the pants-to-cuboids decomposition can be divided in two main parts: the biological and mechanical parts, see e.g. Fig. 10. For instance, specific biological quadrilateral layouts have been studied by Al-Akhras et al. [2]. Details for the mechanical workflow are explained in Fig. 11. Given a consistent pants decomposition, our algorithm is able to decompose a triangulated surface into quadrilateral patches suitable for surface parameterization. This previous task is done only by specifying relevant feature points relative to a given quadrilateral layout template.
Direction field generation
Introduced in “Topology and parameterization prerequisites” section, 4-symmetry directions fields (i.e., cross fields) are widely used to determine an aligned global parameterization [6,7,8, 45]. In other words, these fields are useful to guide the parameterization to determine quality quadrilateral surfaces. Designing a smooth cross field \({\mathcal {C}}\) is done with a given set of constraints. We categorize these constraints into two groups: topological and geometric constraints. Topological constraints are imposed singularities and numbers induced by the surface topology \(\chi (M)\). Geometric constraints are intrinsically embedded on the surface. Thus we seek a cross field \({\mathcal {C}}\) which is smooth, aligned with the local geometry and topologically compatible. The quadrilateral layout \(\mathbb {Q}\) or cuboid configuration \(\mathbb {C}\) contains topological properties whereas the surface M hold the geometric information.
We consider a triangulation of the surface M, assumed to be a 2-dimensional manifold of genus-g with b boundary components. Directions will be stored at faces F to avoid definition of supplementary tangent planes. The first step of the discretization consists in finding a reference direction in each triangle. This is done by choosing a local orthonormal frame \(({\mathbf {x}},{\mathbf {y}})\) attached on each face f. The vector \({\mathbf {x}}\) is an unitary vector along one of the oriented edges of face f, and \({\mathbf {y}}={\mathbf {n}} \times {\mathbf {x}}\), where \({\mathbf {n}}\) is the normal of f. A direction \({\mathbf {u}}\) on f can be formulated in terms of polar coordinates. Due to the unit norm of such directions, it is completely parameterized by the polar angle \(\alpha \) it forms with \({\mathbf {x}}\). We denote \(\alpha \) the direction angle. By unfolding adjacent triangles isometrically to a plane along their common edge, angles can be expressed in a common coordinate frame. To specify the number of \(N^{th}\) turns the direction \({\mathbf {u}}_A\) undergoes to match with \({\mathbf {u}}_B\) when passing from A to B, the period jump [33] is adopted. Other works introduce an angle \(\omega \) named connection angle to solve this ambiguity [14, 15]. In the following, the connection angle based discretization is used for topological design and period jump based discretization is used for geometric design.
Topological cross field generation
The first discretization computes an angle \({}^c \alpha _i^j\) from face \(f_i\) expressed in adjacent face \(f_j\) which is in general equal to \(\alpha _j^j\), see e.g. equation (4). The angle \(\kappa _{ij} \in [-\pi ,\pi ]\) represents the difference between a reference direction \({\mathbf {x}}_i\) in face \(f_i\) and \({\mathbf {x}}_j\) in face \(f_j\). Angle \(\omega _{ij}\) is the connection angle when walking on the dual edge linking face \(f_i\) to face \(f_j\).
$$\begin{aligned} {}^c \alpha _i^j&=\alpha ^i_i + \kappa _{ij} + \omega _{ij}. \end{aligned}$$
(4)
We seek to fix all topological degrees of freedom to restrict the cross field topologically compatible to our quadrilateral layout \(\mathbb {Q}\). Technically speaking, we target a smooth cross field \({\mathcal {C}}\) that is singular only at specified vertices: the position of irregular nodes of \(\mathbb {Q}\). The approach of Campen and Kobbelt [8] is adopted to determine the cross field topological degrees of freedom from the input quadrilateral layout. Figure 12b provides a topological cross field calculated using the minimization of energy introduced by Crane et al. [15]. The generated field respect the Gauss-Bonnet theorem by distributing the Gaussian curvature in a smart manner [14].
Geometric cross field generation
The second discretization computes an angle \({}^p \alpha _i^j\) from face \(f_i\) expressed in adjacent face \(f_j\) which is in general different to \(\alpha _j^j\), see e.g. equation (5). Angles \(\alpha ^i_i\) and \(\alpha ^j_j\) are respectively expressed in their native faces. The integer \(p_{ij} \in \mathbb {Z}\) is the period jump when passing from face \(f_i\) to face \(f_j\). The integer N is the symmetry of the field, i.e., 4 for cross fields.
$$\begin{aligned} {}^p \alpha _i^j&= \alpha ^i_i + \kappa _{ij} + \frac{2 \pi }{N} p_{ij}. \end{aligned}$$
(5)
A smooth cross field that interpolates relevant principal curvature directions, sharp features and boundaries restricted to a given topology is targeted. We search the smoothest field taking into account constrained directions given by geometric features. The period jumps of the field are fixed. A technique introduced by Bommes et al. [6] and later used by Al-Akhras et al. [2] is adopted to compute such field. Figure 12c shows a geometric cross field that interpolates sharp features and boundaries.
Aligned global parameterization computation from geometric direction field
We now compute an aligned global parameterization, i.e., a map from the mesh M to a disk-like surface parameter domain \(\Omega \in \mathbb {R}^2\). We assign a couple (u, v) of parameter values on each vertex of M. The parameterization should be locally aligned with the features of the mesh, this is done using the guiding geometric cross field previously computed. Such parameterization implies that the gradients \(\nabla u\) and \(\nabla v\) of the discrete scalar field must follow the cross field directions on each face.
Seamless parameterization
A planar parameterization of a mesh M embedded in \(\mathbb {R}^3\) into a parametric domain \(\Omega \) embedded in \(\mathbb {R}^2\) is in general done by computing a cut graph. A cut graph G is a connected graph formed by edges of M that splits the mesh into a disk-like surface mesh \(M^c\). Seams are then defined as duplicated paths of G. Transitions across seams need to belong to a very restricted class. We search for rigid transformations with a rotation angle multiple of \(\frac{ \pi }{2}\). Moreover across each seam edge or vertex, the corresponding transition must be integral, i.e., relative to an integer. Thus we talk about integral seamless parameterization [27]. We target the cross field first and second directions \({\mathbf {u}}^{{\mathcal {C}}}\) and \({\mathbf {v}}^{{\mathcal {C}}}\) for the gradients of the parametric coordinates \(\nabla u\) and \(\nabla v\). The parameterization is then computed as the solution of a constrained minimization problem:
$$\begin{aligned}&\min _{u,v} \sum _{f \in F} [ \Vert \nabla u - {\mathbf {u}}^{{\mathcal {C}}} \Vert ^2 + \Vert \nabla v - {\mathbf {v}}^{{\mathcal {C}}} \Vert ^2 ] A_f \text { s.t. } (7), \end{aligned}$$
(6)
$$ \begin{aligned}&v_1^{'} =R^{m_{ij}}_{ \frac{ \pi }{2}} v_1 + t_{ij} \& v_2^{'} =R^{m_{ij}}_{ \frac{ \pi }{2}} v_2 + t_{ij}. \end{aligned}$$
(7)
where \(A_f\) is the area of the considered face f. The corresponding final positions \(v_1^{'}\) and \(v_2^{'}\) are related to the cut edge \(e_{ij}\) from face i to face j with endpoints \(v_1 \in \mathbb {R}^2\) and \(v_2 \in \mathbb {R}^2\) in the parametric domain. Given a side of the cut by picking \(v_1\) and \(v_2\), the parameterization on the other side is determined by these previous transitions. The matching \(m_{ij} \in \mathbb {Z}\) is defined between the two local charts which specify the rotation operator R. Rotations are made by angles multiple of \(\frac{ \pi }{2}\). The integer \(t_{ij} \in \mathbb {Z}^2\) is a translation across cut edge \(e_{ij}\). Aligned global parameterization can also integrate sharp edges and boundary constraints to ensure that a common relevant edge is mapped to an isoparametric curve.
Node connection constraints
Once a valid quadrilateral layout and consistent geometric cross field are provided, we wish to restrict each arc in a way that two incident nodes lie on a common isoparametric curve. With isoparametric we mean that either the u or v parameter is constant along the curve when taking transitions into account. The minimization problem (6) is then constrained using node connection constraints. These constraints are derived from the quadrilateral layout \(\mathbb {Q}\). Typically, each arc must lie on a common isoparametric curve taking seams transitions into account [46]. We are now able to compute a suitable global parameterization of the mesh M, given the associated quadrilateral layout \(\mathbb {Q}\).
Quadrilateral layout embedding optimization
Depending on geometry and position of \(\mathbb {Q}\)’s nodes, a better parameterization can be found using node relocation. Due to the nature of the quadrilateral layout, fixed nodes rise to large distortions or even local non-injectivities. Mathematically speaking we are going to optimize equation (6). The nodes are re-positioned based on the gradient of the parameterization’s objective functional with respect to their positions. This is done iteratively until a global embedding quality is reached. We follow the method developed by Campen and Kobbelt [8] to perform such optimization. Figure 13 shows an abdominal aorta scanned mesh with its global parameterization optimization using an arbitrary valid quadrilateral layout. Observe the final global parameterization quality and nodes relocation. The final parameterization is then used to construct feature-aligned quadrilateral meshes. Due to patch structure of the quadrilateral layout, such quadrilateral meshes can be computed patch by patch according to connectivity constraints.
Isotopological analogous quadrilateral meshes construction from aligned global parameterization
Let us reformulate the previous defined problematic in section 1.2 in a more technical manner. Given a set of input triangulated meshes we strive to find 3D quadrilateral meshes which respect the four following properties:
Pure quadrilaterals with low distortion With the definition of a quadrilateral layout replicating perfectly the topology of the input triangulated surface mesh, it is possible to define a pure quadrilateral mesh. Low distortion is achievied by minimizing the alignment of the global parameterization with the guiding field.
Feature aligned Sharp edges, vertices and principal curvature directions are inportant features of meshes. Alignment to these features is required on all instances to fully conserve significant features. Thus the input quadrilateral layout must contain all the sharp edges and vertices to ensure right feature alignment into all input meshes.
Isotopological with analogous points into other geometric instances A sufficient condition to have isotopological meshes is to hold the same connectivity. A representative quadrilateral mesh of the population with a correct sampling is taken as reference to set the mesh connectivity. It should be noted here that it is not a sufficient condition to compare meshes because of orientation. This is why we want each point of the computed mesh to have an analogous point into all other geometric instances of the considered set. It is achieved globally by patch connectivity and locally by classifying sharp features and applying patch parameterization.
Non-uniform isotropy Mesh non-uniform isotropy provides the only degrees of freedom to have isotopological meshes from different geometric instances. Non-uniform isotropy is intrinsically set because of patch connectivity and discretization.