License: CC BY-NC-SA 4.0
arXiv:2403.00300v1 [cs.GR] 01 Mar 2024

Hybrid Base Complex: Extract and Visualize Structure of Hex-dominant Meshes

Lei Si, Haowei Cao, Guoning Chen Lei Si, Haowei Cao, and Guoning Chen are with the University of Houston. E-mail: (lsi, hcao13)@uh.edu, [email protected].
Abstract

Hex-dominant mesh generation has received significant attention in recent research due to its superior robustness compared to pure hex-mesh generation techniques. In this work, we introduce the first structure for analyzing hex-dominant meshes. This structure builds on the base complex of pure hex-meshes but incorporates the non-hex elements for a more comprehensive and complete representation. We provide its definition and describe its construction steps. Based on this structure, we present an extraction and categorization of sheets using advanced graph matching techniques to handle the non-hex elements. This enables us to develop an enhanced visual analysis of the structure for any hex-dominant meshes.We apply this structure-based visual analysis to compare hex-dominant meshes generated by different methods to study their advantages and disadvantages. This complements the standard quality metric based on the non-hex element percentage for hex-dominant meshes. Moreover, we propose a strategy to extract a cleaned (optimized) valence-based singularity graph wireframe to analyze the structure for both mesh and sheets. Our results demonstrate that the proposed hybrid base complex provides a coarse representation for mesh element, and the proposed valence singularity graph wireframe provides a better internal visualization of hex-dominant meshes.

Index Terms:
Structure Analysis, Hex-dominant Meshes, Structure Visualization

1 Introduction

Refer to caption
Figure 1: Illustration of the pipeline of our method. Given a hex-dominant mesh (a), we first extract the hybrid singularity graph (b) that includes conventional singularities and the edges of all non-hex cells. From this hybrid singularity structure, we construct a hybrid base complex (c). Different colored blocks correspond to individual hex and non-hex components. From the hybrid base complex, individual hexahedral sheets are extracted that encode the substructure configurations. (d) shows a self-intersecting sheet of this mesh. To better study the internal configurations of this sheet, we extract a valence-based singularity graph, denoted by VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G, which contains all irregular edges of this sheet. Note that VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G is more complex than the one in (b), as it includes all the boundary sharp features of the sheet. From VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G, we extract a connected network, called VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe that encodes the non-hex configurations and their propagation within the sheet (f). They are important for the subsequent non-hex element removal. This self-intersecting sheet can be further decomposed into simpler subsheets for a detailed analysis (g).

Volumetric meshes consisting entirely of hexahedra tend to be more efficient and easier to work with when performing finite element analysis (FEA) due to the desired numerical properties of hexahedra [1, 2, 3]. However, the automatic generation of high-quality, geometry-conforming, all hexahedral meshes for arbitrary models has been one of the most challenging meshing problems for over three decades [4, 5]. As a compromise, hexahedral (hex-) dominant meshing is considered to improve robustness and overall mesh quality by introducing a small ratio of generic polyhedral elements [6]. In the last decade, most of the research in this direction has focused on achieving the highest proportion of hexahedra in the meshes produced [7, 8, 9, 10]. Nevertheless, generating all-hex meshes from these hex-dominant meshes remains an open problem, despite being highly sought-after by domain experts.

Due to varying configurations of the non-hex elements (or cells) (e.g., with different numbers of vertices, edges, and faces; different orientations; non-conformality at interfaces), reducing (or eliminating) such elements from a hex-dominant mesh is non-trivial. Often, changes in the connectivity of these non-hex elements will propagate throughout the mesh; therefore, knowing how these changes propagate is crucial for the design of operations to robustly remove non-hex elements. To achieve this, a global structure of hex-dominant meshes is desired that incorporates both hex and non-hex elements as well as describes the larger organization of elements (similar to the hexahedral blocks in all-hex mesh [11, 12]). With such a global structure and its partitioning of the mesh into larger components, the quality of a hex-dominant mesh can be evaluated globally (i.e., the fewer the overall large components and the fewer the non-hex components, the better the quality of the hex-dominant mesh). However, to our knowledge, there is no definition of such a global structure for hexahedral dominant meshes.

To fill this gap, we introduce a first complete structure for hex-dominant meshes that extends the base complex of all-hex meshes [11, 12] by incorporating non-hex elements. In all-hex meshes, a base complex is a partition of the mesh into a set of large hexahedral blocks called base complex components.

For hex-dominant meshes, a base complex (with gaps) can still be extracted from the portions of the volume that are comprised of hexahedra (Figure 2a). To achieve full coverage of the entire volume, we incorporate edges involved with non-hex elements into the singularity structure and define a hybrid singularity structure (Figure 1b), from which a hybrid base complex can be constructed that is comprised of not only hexahedral components but also non-hex components (Figure 1c and Figure 2b).

The hybrid base complex can depict the complexity of the corresponding hex-dominant mesh, such as the alignment of the orientation of the hexahedral elements, which is often overlooked when evaluating the quality of hex-dominant meshes. However, visualizing the hybrid base complex using colored blocks that correspond to individual base complex components usually leads to occlusion and clutter, which does not provide an effective depiction of the (inner) configurations of the structures (see Figure 1c). To enable a detailed analysis of hex-dominant mesh structures and their comparison, we extract substructures, called sheets, from the hybrid base complex. Our sheets adapt the hexahedral sheets [12] but are augmented to incorporate the information of the adjacent non-hex elements. These adjacent non-hex elements serve as corridors to connect nearby sheets, which indicates the potential strategy of removing them. Thus, they are of particular interest to meshing practitioners and simplification algorithms.

Although sheets reduce the visual complexity, displaying a sheet with all involved blocks and adjacent non-hex elements may still lead to visual clutter (see Figure 1d). To address this, we classify sheets into different types and propose a strategy to decompose complex sheets into simple ones (Figure 1g). Furthermore, we introduce the valence-based singularity graph (Figure 1e) and its derived wireframe (Figure 1 f) to intuitively describe irregular configurations, including non-hex configurations and how they propagate across the volume and complicate the structures. We incorporate our hybrid base complex construction, sheet extraction, and visual representation extraction and simplification process into a first visual analysis framework for the effective analysis and comparison of different hex-dominant meshes.

In summary, our work makes the following contributions.

  • We introduce a first global structure encompassing the non-hex components for hex-dominant meshes.

  • We extend the concept of sheets in the base complex to the hybrid base complex and introduce an effective algorithm to extract them using the graph matching techniques [13, 14]. The configuration of these sheets can be utilized for the evaluation of structural complexity of hex dominant meshes, which was not possible previously.

  • We introduce a first set of visualization techniques for the constructed hybrid base complex and its sheets (and subsheets) to support an intuitive and effective qualitative evaluation of hex-dominant mesh structure.

  • We propose a valence-based singularity graph and its corresponding connected wireframe to exploit the internal mesh structure quality for both the entire mesh and its sheets.

We have applied our hybrid base complex extraction and visualization to analyze and compare the complexity and characteristics of a set of hex-dominant meshes produced by several state-of-the-art techniques. Our results show that our hybrid base complex and its sheets can effectively reveal the difference among different hex-dominant meshes. They not only show the complex configurations that are caused by a few simple non-hex elements but also intuitively convey the difficulty of removing these elements. The proposed hybrid base complex and its extended sheets set the foundation for a quantitative study of the characteristics and quality of the structure of any hex-dominant meshes similar to the work in [12] for pure hex-meshes.

We attach all results in the additional material and will release the source code for a reference implementation of the proposed framework on Github.

2 Related Works

2.1 Hexahedral-dominant Meshing

Hex-dominant meshing techniques closely relate to all-hex mesh generation. There are numerous efforts in this regard, like swee** [15], octree-based [16, 17], polycubes map** [18, 19, 20, 21, 22], and frame field based methods [23, 24, 25, 26] for all-hex mesh generation. Nonetheless, automatic generation of high-quality and feature-aligned all-hex meshes for arbitrary models remains the “holy grail” problem for the meshing and geometric modeling communities. While the recent map** and parameterization techniques can produce high-quality all-hex meshes, they often fail for complex models due to the lack of guarantee in numerical approximation [27, 6]. This is particularly true for some complex models described in [28].

Consequently, hex-dominant meshing is getting increased attention due to its robustness when handling complex models. The goal of hex-dominant meshing is to tile as many hexahedral elements in the volume as possible while accepting a small number of non-hex elements [6]. To achieve this goal, Meshkat and Talmor [29] produced hex-dominant meshes by aggregating neighboring tetrahedrons to assemble hexahedral cells. Similarly, Owen [30] introduced H-morph to gradually transform a tetrahedral mesh into a hex-dominant mesh starting from the boundary that was already converted into a quadrilateral mesh. The non-hex elements in these methods are usually simple (e.g., prism, pyramid, or tetrahedra).

Yamakawa and Shimada [31] introduced HEXHOOP to convert a hex-dominant mesh to an all-hex mesh. The proposed method is capable of automatically converting a hex-dominant mesh to an all-hex mesh by subdividing a prism/pyramid/tetrahedral element into a set of smaller hexahedral elements, while ensuring topological conformity with neighboring elements. However, it cannot handle other more complex non-hex element types (e.g., polyhedra with arbitrary numbers of faces). Pellerin et al.[32] used a vertex-based strategy to combine tetrahedra into hexahedra. However, there is no guarantee that all tetrahedra can be combined into hexahedra.

While the computation of Lpsubscript𝐿𝑝L_{p}italic_L start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT centroidal Voronoi tessellation [33] and boundary conformal 3D cross field [23] can be used to produce hex-dominant meshes, Sokolov et al.[34] extended the periodic global parameterization for surfaces [35] to 3D and proposed the first field-aligned parameterization method to guide the agglomeration of tetrahedra to produce hex-dominant meshes. This method was later improved by Gao et al.[9] to address the non-conformality in the meshes produced by the former method. However, the non-hex elements produced by this method can be arbitrarily complex (e.g., with up to 30 faces). Livesu et al. [8] proposed a fully automatic algorithm to produce hex-dominant meshes by mimicking manual block decomposition. Yu et al. [36] created hex-dominant meshes by employing a multi-model polycube-based algorithm that requires manual intervention. The recent approach proposed by Bukenberger et al. [10] generates at-most-hex meshes based on a 3D Lloyd relaxation under the Lsubscript𝐿L_{\infty}italic_L start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT norm for a harmonious hexahedral cell layout. In the resulting meshes, no cell has more than six faces, and no boundary face has more than four sides. Despite that different methods produce hex-meshes with non-hex elements of different types, our structural representation can handle all of them.

2.2 Hex-Mesh Structure and its Visualization

Our proposed structure is closely related to the base complex of all-hex meshes [11, 37]. To construct the base complex for a hex-mesh, the irregular edges whose numbers of adjacent hex elements are not 4 in the interior or not 2 on the boundary are first extracted. The connected irregular edges form singularities. From singularities, separation surfaces are traced out, which partitions the mesh into hexahedral blocks. This partitioning is the base complex. The complexity of a base complex impacts the quality of the corresponding mesh [37] and the subsequent fitting of high-order basis functions for PDE solving [15, 38]. In general, the complexity of the base complex is measured by its number of hexahedral blocks. A smaller number of blocks is preferred as the corresponding mesh is considered (semi-) structured. Singularity alignment technique [11] and sheet removal method [9] have been proposed to simplify base complexes. An alternative to the conventional base complex is the 3D motorcycle complexes introduced by Brückler et al. [39], which generalizes the 2D motorcycle graphs [40] for quad meshes. Different from a base complex, a motorcycle complex allows the existence of T-junctions, leading to the generation of T-meshes that need to be converted to all-hex meshes [41]. It is worth noting that Schertler et al. [42] utilized the 2D motorcycle graph as a structure representation for quad-dominant meshes. In summary, there is no existing work on the study of the structure in hex-dominant meshes. The proposed structure in this work fills such a gap.

There do not exist many techniques for the visualization of hex- and hex-dominant meshes, let alone their respective structures. Bracci et al. [43] presented an online tool, called hexaLab.net, to offer the publication-quality rendering of all-hex meshes and support simple element quality inspection using various cutting and filtering strategies. To address the occluding and cluttering issue for the inspection of hexahedral meshes, a focus+context volume rendering technique [44] has been introduced that assigns high opacity values to regions with poor quality elements. Lei and Chen [45] introduced a visual analysis system for the study of the quality of all hex meshes (as well as quad meshes). Their system reveals regions with small, poor-quality elements that other methods cannot. None of these methods visualizes the structure of the meshes.

To visually analyze base complexes, Xu et al. [12] introduced a multi-level decomposition that subdivides a base complex into a set of sheets, from which a set of main sheets that best represent the base complex is selected for visualization. To reduce visual clutter, surface sheets are reduced to a set of curves following the two parameterization directions of the surface sheet. While effective for the visual analysis of base complexes and their comparison, that technique cannot be directly applied to the proposed structure for hex-dominant meshes. In addition, the focus of the hex-dominant mesh structure is on how different non-hex elements complicate the structure configurations, which requires new representations and a different set of visualization methods to reveal. The presented visualizations address this need.

3 Generalize base complex for Hex-dominant meshes

In this section, we first define a new hybrid singularity structure for a hex-dominant mesh (Section 3.2). From this new structure, we further introduce a hybrid base complex for hex-dominant meshes (Section 3.3) that extends the conventional base complex for all-hex meshes by borrowing some concepts from the recently introduced motorcycle complex [39].

Refer to caption
(a) Base Complex
Refer to caption
(b) Hybrid Base Complex
Figure 2: Conventional base complex with gaps (a) vs the hybrid base complex with non-hex component reduction (b) for a hex-dominant mesh.

3.1 Hex-dominant Mesh

Hex-dominant mesh is a volumetric mesh that contains a small number of non-hex cells. Mathematically, a volumetric mesh can be represented as a 3D network G=(V,E,F,C)𝐺𝑉𝐸𝐹𝐶G=(V,E,F,C)italic_G = ( italic_V , italic_E , italic_F , italic_C ) where V𝑉Vitalic_V is a set of vertices, E𝐸Eitalic_E is a set of edges, F𝐹Fitalic_F is a set of faces, and C𝐶Citalic_C is a set of volume cells given a volume ΩΩ\Omegaroman_Ω with closed boundary ΩΩ\partial\Omega∂ roman_Ω.

Throughout this paper, the set of volume (3D) cells C𝐶Citalic_C contains two subsets (H,H^)𝐻^𝐻(H,\hat{H})( italic_H , over^ start_ARG italic_H end_ARG ) where H𝐻Hitalic_H is a set of hex cells and H^^𝐻\hat{H}over^ start_ARG italic_H end_ARG is a set of non-hex cells. The valence of a vertex, n(vi)𝑛subscript𝑣𝑖n(v_{i})italic_n ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ), or an edge, n(ei)𝑛subscript𝑒𝑖n(e_{i})italic_n ( italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ), is defined as the number of adjacent cells.

3.2 Hybrid Singularity Graphs in Hex-dominant Meshes

The conventional singularity structure is not well-defined at non-hex cells, thus it cannot cover the entire space of a hex-dominant mesh G𝐺Gitalic_G. To address that, we introduce a hybrid singularity structure, which is a graph denoted by GS=(VSVH^,ESEH^)subscript𝐺𝑆subscript𝑉𝑆subscript𝑉^𝐻subscript𝐸𝑆subscript𝐸^𝐻G_{S}=(V_{S}\cup V_{\hat{H}},E_{S}\cup E_{\hat{H}})italic_G start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT = ( italic_V start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT ∪ italic_V start_POSTSUBSCRIPT over^ start_ARG italic_H end_ARG end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT ∪ italic_E start_POSTSUBSCRIPT over^ start_ARG italic_H end_ARG end_POSTSUBSCRIPT ) (Figure 1b). ESsubscript𝐸𝑆E_{S}italic_E start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT is the set of singularities, each of which is a set of connected edges (adjacent to pure hex cells in H𝐻Hitalic_H) that have the same irregular valence (i.e., not equal to 4 in the interior or not equal to 2 on the boundary). VSsubscript𝑉𝑆V_{S}italic_V start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT is the set of singular vertices that are usually the two end vertices of a singularity. In other words, ESsubscript𝐸𝑆E_{S}italic_E start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT and VSsubscript𝑉𝑆V_{S}italic_V start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT are the conventional singularities and singular vertices as defined in the previous work [12].

EH^subscript𝐸^𝐻E_{\hat{H}}italic_E start_POSTSUBSCRIPT over^ start_ARG italic_H end_ARG end_POSTSUBSCRIPT is the set of non-hex edges, each of which is incident to at least one non-hex cell (in H^^𝐻\hat{H}over^ start_ARG italic_H end_ARG). For consistency, we refer to this set of edges as pseudo-singularity. Although non-hex edges can connect with each other, they often do not have the same valence, thus, for simplicity, we treat each non-hex edge as a pseudo-singularity. Note that a pseudo-singularity cannot be part of a singularity and vice versa. VH^subscript𝑉^𝐻V_{\hat{H}}italic_V start_POSTSUBSCRIPT over^ start_ARG italic_H end_ARG end_POSTSUBSCRIPT is comprised of vertices that mark the two endpoints of pseudo-singularity. Although these vertices can be regular, they disrupt the mesh global structure. Therefore, when constructing singularity or pseudo-singularity, these edges must be terminated at these vertices. We refer to these vertices as pseudo singular vertices. Note that singularities and pseudo-singularities may meet at a vertex, which is a pseudo singular vertex, not a singular vertex.

3.3 Hybrid Base Complex of Hex-Dominant Mesh

Hybrid base complex: Given the hybrid singularity structure GSsubscript𝐺𝑆G_{S}italic_G start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT of a hex-dominant mesh G𝐺Gitalic_G, a hybrid base complex can be defined and constructed by extending the conventional base complex for all-hex meshes [11, 12]. Specifically, for each singularity or pseudo-singularity with valence n𝑛nitalic_n in GSsubscript𝐺𝑆G_{S}italic_G start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT, n𝑛nitalic_n separation surfaces can be traced out that end at other singularities or pseudo-singularities or at the boundary ΩΩ\partial\Omega∂ roman_Ω.

These separation surfaces and their intersections partition the volume ΩΩ\Omegaroman_Ω into either topologically cube-like components, rings [12], or other non-hex components. Cube-like components are only specific to the components that contain six faces, and all faces are topologically quads. The ring-like components can be converted to cubes by cutting [12]. The types of non-hex components depend on the types of non-hex elements in the input meshes, which can be arbitrary [9].

This partitioning defines the hybrid base complex GBsubscript𝐺𝐵G_{B}italic_G start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT of the hex-dominant mesh G𝐺Gitalic_G (Figure 1d). Similar to the conventional base complex, GBsubscript𝐺𝐵G_{B}italic_G start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT provides a coarse tessellation of ΩΩ\Omegaroman_Ω (and an organization of the elements in G𝐺Gitalic_G). We denote GB=(VB,EB,FB,CB)subscript𝐺𝐵subscript𝑉𝐵subscript𝐸𝐵subscript𝐹𝐵subscript𝐶𝐵G_{B}=(V_{B},E_{B},F_{B},C_{B})italic_G start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT = ( italic_V start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT , italic_F start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ), where CBsubscript𝐶𝐵C_{B}italic_C start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT is the set of base complex components. CB=(HBH^B)subscript𝐶𝐵subscript𝐻𝐵subscript^𝐻𝐵C_{B}=(H_{B}\cup\hat{H}_{B})italic_C start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT = ( italic_H start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ∪ over^ start_ARG italic_H end_ARG start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ) with HBsubscript𝐻𝐵H_{B}italic_H start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT being hex-components and H^Bsubscript^𝐻𝐵\hat{H}_{B}over^ start_ARG italic_H end_ARG start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT representing non-hex components. FBsubscript𝐹𝐵F_{B}italic_F start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT is the set of base complex faces that form the individual base complex components and can be quadrilateral or any non-quadrilateral polygons. EBsubscript𝐸𝐵E_{B}italic_E start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT are the edges of the individual base complex faces, and VBsubscript𝑉𝐵V_{B}italic_V start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT are the corners (or vertices) of the individual base complex components. Based on this definition, each non-hex cell in G𝐺Gitalic_G leads to a separate non-hex component.

4 Sheets in Hybrid Base Complex

Refer to caption
(a)
Refer to caption
(b)
Figure 3: (a) a sheet is constructed by a set of parallel edges. (b) highlights a hexahedral block with its three orthogonal sets of parallel edges color-coded in red, green, and blue, respectively. The two hex blocks in (b) belong to two different sheets.

To understand the detailed orientation configurations of the hybrid base complex, we decompose it into individual sheets. Given the hybrid base complex for a mesh G𝐺Gitalic_G, a sheet GSH=(VSH,ESH,FSH,CSH)subscript𝐺𝑆𝐻subscript𝑉𝑆𝐻subscript𝐸𝑆𝐻subscript𝐹𝑆𝐻subscript𝐶𝑆𝐻G_{SH}=(V_{SH},E_{SH},F_{SH},C_{SH})italic_G start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT = ( italic_V start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT , italic_F start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT ) comprises a set of hexahedral (base complex) blocks identified by a set of parallel (base complex) edges EPsubscript𝐸𝑃E_{P}italic_E start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT. Parallel edges are defined as follows:

Definition 1 (parallel edges)

Edges eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ejsubscript𝑒𝑗e_{j}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT are considered parallel, denoted as eiejconditionalsubscript𝑒𝑖subscript𝑒𝑗e_{i}\parallel e_{j}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∥ italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, if and only if they belong to the same quad face but do not share any vertex.

Two hex blocks belong to the same sheet if they are adjacent by a face and contain a set of parallel edges. For example, 2(a), c1,c2subscript𝑐1subscript𝑐2c_{1},c_{2}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are hex blocks with e1subscript𝑒1e_{1}italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and e2subscript𝑒2e_{2}italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT being parallel, considering both c1subscript𝑐1c_{1}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and c2subscript𝑐2c_{2}italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT within the same sheet.

Note that the concept of sheets above can be applied to the original mesh G𝐺Gitalic_G by grou** the connected hex cells (instead of blocks) through the corresponding parallel mesh edges.

4.1 Sheet Construction

We extract sheets using only hex blocks by following the method proposed in [37]. The process starts with a hex block and extends to its connected hex blocks by tracing an edge and all its parallel edges. This construction continues until no other parallel edges can be found in the connected hex blocks.

Every hex block contains three sets of parallel edges oriented in three distinct directions. As illustrated in 2(b), for each hex element, the red, green, and blue parallel edge sets propagate in orthogonal directions, leading to three orthogonal sheets. However, due to irregular configurations, a sheet may self-intersect. This means that, within a sheet, multiple parallel sets are traveled through a hex in different directions. A demonstration is shown in 3(d). This configuration is important for our structural visualization and analysis, which we will discuss later.

After extracting sheets, we augment them with neighboring non-hex elements. This is because the above sheets only contain hex components. Adding non-hex elements can fill the gaps between those sheets, making it possible to study the propagation of the non-hex configurations in the volume (section 5). A non-hex element is considered adjacent to a sheet if the edges in a non-hex element are also in the parallel edge set of a sheet. As in 2(a), non-hex cells c3subscript𝑐3c_{3}italic_c start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT and c4subscript𝑐4c_{4}italic_c start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT are adjacent to the (green) sheet due to both of them including an edge (red) in the parallel edge set of the sheet. Note that the relationship between non-hex elements and sheets is important, as non-hex elements interconnect sheets.

4.2 Sheet Classification

To identify sheets and their associated edges, we adopt the concepts of matching from graph theory [14, 13]. Theoretically, in a graph G𝐺Gitalic_G, a matching M𝑀Mitalic_M is a set of edges that do not share any vertices. A vertex in M𝑀Mitalic_M is matched if it is an endpoint of one of the edges in the matching. Otherwise, the vertex is called unmatched.

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Refer to caption
(d)
Refer to caption
(e)
Refer to caption
(f)
Figure 4: Sheet Types: (a) is a perfect sheet with a non hex neighbor, the red edges means the edge is both parallel edges in the sheet and also part of non hex cell. (b) type-1 imperfect sheet, (c) self-parallel (type-2 imperfect) sheet, (d) self-intersecting (type-3) sheet, (d) could be further split into (e) and (f). Both sub-sheets are perfect sheets. Red vertices here indicate the unmatched vertices.

With the concept of matching mentioned above, we can now classify sheets extracted from a hybrid base complex. Note that the parallel edges that define a sheet span from one end to the other. When all these edges do not share any vertices, they are considered matched based on the above matching theory, as illustrated by the colored edges in 3(a). Such sheets are labeled as perfect sheets. The sheets whose parallel edges cannot be all included in a matching (i.e., some share the same vertices) are referred to as imperfect sheets. For the imperfect sheets, three different configurations can be determined by the neighbor relationship of parallel edges.

  1. 1.

    Type 1 imperfect configuration shown in 3(b) is caused by some parallel edges sharing vertices due to non-hex elements.

  2. 2.

    Type 2 imperfect configuration shown in 3(c) is the configuration where at least two parallel edges that share a vertex are in two different but adjacent hex cells. The sheets having this configuration are called self-parallel sheets.

  3. 3.

    Type 3 imperfect configuration shown in 3(d) occurs when two parallel edges share the same hex cell and are neighboring to each other (i.e. the sheet returns to the same hex cell). The sheets that include this configuration are called self-intersecting sheets.

An imperfect sheet in a hex-dominant mesh may contain one or more of the above imperfect configurations. During visual analysis, the edges connected to unmatched vertices in imperfect sheets, 3(b), require special attention, as they often lead to configurations that complicate the subsequent non-hex element reduction processes.

4.3 Self-intersecting Sheets Decomposition

Analyzing the structure of self-intersecting sheets remains a challenge. This is because the orientation of the sheets changes at intersections (Figure 4d), complicating the visual analysis of the internal structural configurations (i.e., hard to trace visually). To reduce the complexity of self-intersecting sheets, we design a sheet decomposition algorithm. This algorithm breaks down the sheets (esp. type-3 imperfect sheets) into smaller subsheets, as illustrated in 3(d), 3(e), and 3(f). It ensures that each subsheet does not contain two parallel edges adjacent to each other within a hex cell (i.e., self-intersecting configuration). To ensure this, the propagation is performed using the breadth-first search strategy.

Specifically, given a subsheet GSH*subscript𝐺𝑆𝐻G_{SH*}italic_G start_POSTSUBSCRIPT italic_S italic_H * end_POSTSUBSCRIPT, its current parallel edge set is marked as ESP*subscript𝐸𝑆𝑃E_{SP*}italic_E start_POSTSUBSCRIPT italic_S italic_P * end_POSTSUBSCRIPT. Given an edge eiESP*subscript𝑒𝑖subscript𝐸𝑆𝑃e_{i}\notin E_{SP*}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∉ italic_E start_POSTSUBSCRIPT italic_S italic_P * end_POSTSUBSCRIPT, check whether eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is adjacent to other parallel edges in ESP*subscript𝐸𝑆𝑃E_{SP*}italic_E start_POSTSUBSCRIPT italic_S italic_P * end_POSTSUBSCRIPT. If eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is not adjacent to any edge from ESP*subscript𝐸𝑆𝑃E_{SP*}italic_E start_POSTSUBSCRIPT italic_S italic_P * end_POSTSUBSCRIPT within a hex cell, add eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT into the ESP*subscript𝐸𝑆𝑃E_{SP*}italic_E start_POSTSUBSCRIPT italic_S italic_P * end_POSTSUBSCRIPT, and search for the next edge ejsubscript𝑒𝑗e_{j}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT that ejeiconditionalsubscript𝑒𝑗subscript𝑒𝑖e_{j}\parallel e_{i}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∥ italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. After having a complete parallel edge set ESP*subscript𝐸𝑆𝑃E_{SP*}italic_E start_POSTSUBSCRIPT italic_S italic_P * end_POSTSUBSCRIPT, the hex cells whose vertices are visited by the edges in ESP*subscript𝐸𝑆𝑃E_{SP*}italic_E start_POSTSUBSCRIPT italic_S italic_P * end_POSTSUBSCRIPT are considered valid subsheet cells. The edges that have no neighboring cell in the sub-sheet will be removed.

By incorporating the decomposition algorithm, these subsheets are either perfect or contain only type-1 or type-2 imperfect configurations, significantly simplifying the analysis process.

5 Valence-based Singularity Graph

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Refer to caption
(d)
Refer to caption
(e)
Refer to caption
(f)
Refer to caption
(g)
Refer to caption
(h)
Refer to caption
(i)
Refer to caption
(j)
Figure 5: (a) a simple hex-dominant mesh, (b) its hybrid singularity graph, (c) its hybrid base complex, (d) its VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G, (e) the initial complete VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe, and (f) the (simplified) VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe. The blue edges (dots) in (e) are the non-important edges (vertices), and the red edges (dots) are important. To retain a connected network for the obtained VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe, some non-important edges (e.g., the top two middle blue edges) are re-activated. (g) shows the sheet suggested by (f) for collapsing. The green edges are the parallel edges of this sheet. After collapsing the “Y”-shape non-hex configuration (manually), a regular all-hex mesh is resulted with only one hex block (h). (i) shows another sheet for collapsing that can also remove the non-hex configuration. However the resulting all-hex mesh (j) has a complex structure (indicated by multiple colored blocks).

Although the proposed hybrid base complex effectively describes the global structure of mesh, the internal structure remains invisible, as illustrated in 4(c). In particular, researchers who aim to remove non-hex elements wish to know how certain non-hex configurations (e.g., the triangle-like configuration seen at the boundary of 4(c)) propagate through the volume to determine the difficulty and impact of their removal. One strategy is to look at the wireframe of the hybrid base complex, which may contain too many edges that are not related to irregular and non-hex configurations, complicating this study.

To address this challenge, we extract a wireframe from a valence-based singularity graph, denoted by VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G. A VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G consists of all irregular edges in a hex-dominant mesh. A change we made to identify irregular edges, compared to the definition of hybrid singularity structure (or graph) in subsection 3.2, is that an edge that is adjacent to a non-hex cell can be part of a singularity if it is irregular (i.e., its valence is not 4 in the interior or not 2 on the boundary). Now, each singularity includes all connected irregular edges (adjacent to non-hex cell or not) with the same valence. The endpoints of each singularity are the singular vertices. All singularities and singular vertices form a valence-based singularity graph (VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G) (Figure 1e). From this VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G, we construct a wireframe (4(e)) by tracing along all mesh edges (regular or irregular) from the individual singular vertices until they end at another singularity or at the boundary. We refer to this wireframe as a VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe. This wireframe may still be too complex to analyze, and thus, a further reduction strategy is applied.

5.1 VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G Wireframe Simplification

We observe that not all edges in the obtained VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe contribute to the depiction of the structure configuration, particularly the irregular and non-hex configurations and their propagation. For example, the regular edges adjacent to a corner at the boundary need not depict the non-hex configurations and can be removed. The boundary edges adjacent to the eight corners of the cube mesh in 4(e) are examples of these regular edges. Some regular edges, while connecting to singular vertices, do not contribute to the understanding of the impact of irregular edges and non-hex configurations if they are orthogonal to those configurations. See the set of purple edges near the bottom of the cube in 4(e) for some examples. Removing these edges can reduce the visual clutter, leading to a cleaner illustration of the non-hex configuration and its propagation orientation (4(f)). We refer to these edges as non-important edges. Next, we propose a strategy to identify these non-important edges for removal.

We first identify the non-important vertices in the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe based on the neighboring face and neighboring edge valence.

5.1.1 non-important vertices

A vertex in VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe is considered non-important if it satisfies one of the following:

  • it is not a singular vertex

  • at a boundary corner with all quad neighboring faces

For example, all the blue vertices in 4(e) are non-important.

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 6: (a) shows e1subscript𝑒1e_{1}italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and e2subscript𝑒2e_{2}italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are non-important edge. (b) shows either e2subscript𝑒2e_{2}italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT or e3subscript𝑒3e_{3}italic_e start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT can be paired with e1subscript𝑒1e_{1}italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, but the pair e1pe2subscript𝑝subscript𝑒1subscript𝑒2e_{1}\rightarrow_{p}e_{2}italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT → start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is selected as non-important randomly. (c) In the scenario where all edges surrounding a singular vertex do not have unique paired edges; therefore, all these edges are important.

5.1.2 non-important edges

An edge eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT in a VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe is determined as non-important using one of the following criteria.

First, if both endpoints (vertices) of eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are non-important, then eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is marked as non-important.

Second, given two connected regular edges eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ejsubscript𝑒𝑗e_{j}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, if eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is paired with only ejsubscript𝑒𝑗e_{j}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, denoted by eipejsubscript𝑝subscript𝑒𝑖subscript𝑒𝑗e_{i}\rightarrow_{p}e_{j}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT → start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, and ejsubscript𝑒𝑗e_{j}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is also paired with only eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (i.e., ejpeisubscript𝑝subscript𝑒𝑗subscript𝑒𝑖e_{j}\rightarrow_{p}e_{i}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT → start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT), then both eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ejsubscript𝑒𝑗e_{j}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT are non-important. Two regular edges adjacent to the same singular vertex can be paired if they are from different cells and are adjacent to only quad faces. According to this, e1subscript𝑒1e_{1}italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and e2subscript𝑒2e_{2}italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are both non-important in 5(a).

Third, given a set of regular edges around a singular vertex, if one of these edges, say eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, can be paired with more than one other edge, i.e., a one-to-many pairing, and all the other edges can only be paired with eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, then eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is non-important. We also randomly mark one of the edges that can be paired with eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT as non-important. 5(b) illustrates such a scenario. Specifically, e1subscript𝑒1e_{1}italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT can be paired with both e2subscript𝑒2e_{2}italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and e3subscript𝑒3e_{3}italic_e start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT; but e2subscript𝑒2e_{2}italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT can only be paired with e1subscript𝑒1e_{1}italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and e3subscript𝑒3e_{3}italic_e start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT can only be paired with e1subscript𝑒1e_{1}italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, because e2subscript𝑒2e_{2}italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and e3subscript𝑒3e_{3}italic_e start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT are in the same cell. In this case, e1subscript𝑒1e_{1}italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is non-important, and we randomly choose e2subscript𝑒2e_{2}italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT as another non-important edge.

In the case of 5(c), edges e1subscript𝑒1e_{1}italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, e2subscript𝑒2e_{2}italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, e3subscript𝑒3e_{3}italic_e start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT, and e4subscript𝑒4e_{4}italic_e start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT are regular and surrounded by only quad faces. Since all of them can be paired with multiple other edges, none are marked as non-important.

Based on the above criteria, all blue edges in 4(e) are non-important, as their endpoints are all non-important (blue). The (purple) edge eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ejsubscript𝑒𝑗e_{j}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT are also non-important based on the second criterion above.

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 7: Given the initial VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe of a sheet (a), non-important edges are hidden to reduce visual clutter (b). Reactivating some non-important edges is needed to obtain a complete network for the simplified VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe (c).

After detecting non-important elements, they are hidden from the visualization. However, hiding these edges results in a disconnected structure (6(b)), providing incomplete information about its global configuration. To address this, we re-activate some of those edges. In particular, if a non-important edge from the initial VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe is adjacent to a singular edge, it will be shown in the visualization (6(c)).

Following the removal and reactivation of non-important edges, we obtain a cleaner and simplified VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe. This graph effectively highlights the irregular configurations with less clutter, as illustrated in 4(f). The orientation of some non-hex configurations in VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe also suggests a possible ideal direction of the sheet for collapsing to remove these configurations (see Figure 5g–j). As the rest of the paper will show the simplified VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframes, we will refer to them as VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframes for simplicity.

6 Visualize Hybrid Base Complex and Its Substructures

The above sections describe the extraction of various geometric descriptors for the study of the structure of hex-dominant meshes. In this section, we describe our strategies to visualize them.

Refer to caption
(a) Direct Visualization
Refer to caption
(b) Hybrid Singularity Graph
Refer to caption
(c) Hybrid Base Complex
Refer to caption
(d) Selected Sheets
Refer to caption
(e) VSG Wireframe
Refer to caption
(f) Partial Parallel Singularities
Figure 8: (a) direct visualization of a hex-dominant mesh, (b) its hybrid singularity graph visualized as line graphs, (c) its hybrid base complex visualized using colored blocks, (d) a set of extracted sheets visualized as large colored blocks, (e) its (simplified) VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe visualized as a 3D network with colors and opacity. (f) illustrates a scenario of partial parallel singularities to determine the colors of edges in the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe.

6.1 Visualize Hybrid Singularity Graph and Base Complex

A hybrid singularity graph consists of 1D edges and 0D vertices. We visualize them as colored lines. It provides an initial description of the complexity of the structure, as illustrated in 7(b). The hybrid base complex represents an abstract (or coarse) version of the input hex-dominant mesh. A standard component-based visualization method is to assign distinct colors to different components, as shown in 7(c). The visualization of the hybrid base complex provides an overview of the complexity of a mesh structure. It can also support an initial comparison of the structures between two hex-dominant meshes of the same model. Specifically, the fineness of the structure can be easily perceived via the number of distinct color blocks. The more colored blocks, the more complex the corresponding structure is. As in Figure 11, we can easily conclude that the model in 10(b) has a better structure, as it has fewer colored blocks.

While the visualization of the hybrid base complex provides an initial impression of the organization of the blocks along certain directions, the representation of this configuration (or substructure [12]) is not direct and requires mental tracing along specific directions. To address this, the visualization of the extracted sheets is needed (7(d)). Before describing sheet visualization, we need to visualize the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe, which facilitates the study of individual sheets.

6.2 Visualize VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G Wireframe

The purpose of the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe is to highlight irregular and non-hex configurations and how they propagate (and the orientation of propagation) throughout the volume. To effectively depict this information, we set the opacity values of the individual edges in the resulting VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe (subsection 5.1) so that the edges at the irregular and non-hex configurations will receive the highest opacity values, while the edges that are further away from the non-hex configurations become more transparent.

To distinguish different structures in a VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe, we assign different colors to different edges in the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe. To reduce the number of colors used while still distinguishing different singularities, a color-coding method is designed based on the connectivity and parallel relationships of edges.

Definition 2 (partial parallel singularities)

Given two singularities sisubscript𝑠𝑖s_{i}italic_s start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and sjsubscript𝑠𝑗s_{j}italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT consisting of two sets of connected irregular edges with the same valence, respectively. Let Eisisubscript𝐸𝑖subscript𝑠𝑖E_{i}\subset s_{i}italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊂ italic_s start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and Ejsjsubscript𝐸𝑗subscript𝑠𝑗E_{j}\subset s_{j}italic_E start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⊂ italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT so that Eisubscript𝐸𝑖E_{i}italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and Ejsubscript𝐸𝑗E_{j}italic_E start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT include all edges eisisubscript𝑒𝑖subscript𝑠𝑖e_{i}\in s_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_s start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ejsjsubscript𝑒𝑗subscript𝑠𝑗e_{j}\in s_{j}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT that satisfy ei||eje_{i}||e_{j}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | | italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT based on Definition 1. We say sisubscript𝑠𝑖s_{i}italic_s start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and sjsubscript𝑠𝑗s_{j}italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT are partial parallel singularities if min(|Ei||sei|,|Ej||sej|)>=ρ𝑚𝑖𝑛subscript𝐸𝑖𝑠subscript𝑒𝑖subscript𝐸𝑗𝑠subscript𝑒𝑗𝜌min(\frac{|E_{i}|}{|se_{i}|},\frac{|E_{j}|}{|se_{j}|})>=\rhoitalic_m italic_i italic_n ( divide start_ARG | italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | end_ARG start_ARG | italic_s italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | end_ARG , divide start_ARG | italic_E start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT | end_ARG start_ARG | italic_s italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT | end_ARG ) > = italic_ρ, where ρ𝜌\rhoitalic_ρ is a user-specified threshold.

In our experiments, we set ρ=0.8𝜌0.8\rho=0.8italic_ρ = 0.8.

The edges in a pair of partial parallel singularities are assigned the same color. The two cyan singularities shown in 7(f) are partial parallel singularities. Two adjacent non-parallel singular edges will be assigned different colors. This color-coding method provides an effective visualization for VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe, as shown in 7(e).

6.3 Visualize Sheets and Their Subsheets

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 9: (a) shows an imperfect sheet that contains a few adjacent parallel edges due to the existence of non-hex cells. (b) shows a self-parallel sheet that contains several columns of parallel edges. They are adjacent to each other and oriented in the same direction. (c) shows a self-intersecting sheet that has a few parallel adjacent edges that share the same hex cells, which changes the direction of the sheet. The red dots highlight the unmatched vertices.
Refer to caption
Figure 10: Decomposition of the sheet in 8(c). This sheet contains 4 subsheets, and the 3 large subsheets are shown. For each subsheet, we also show its corresponding VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe beneath it.

We assign a unique color to all components belonging to the same sheet, ensuring that the sheets are easily identifiable, as demonstrated in 7(d). While showing all sheets reveals the possible organizations of the components in the hybrid base complex, it easily leads to occlusion. Especially, the imperfect sheets that contribute to the complexity of the structure are often hidden by this visualization. Additional treatment is needed to highlight imperfect sheets.

Recall that the problematic regions of imperfect sheets are usually linked to the unmatched vertices from the above matching process and the self-parallel and self-intersecting configurations of the sheets. We then highlight imperfect sheets through the emphasis on the involved unmatched vertices, self-parallel, and self-intersecting configurations. For self-parallel sheets, we highlight the vertices that are shared by more than one block from the same sheets and the edges that are connected to these vertices but do not share any cell. When we visualize self-intersecting sheets, understanding the regions where cells exhibit self-intersection is very important. Therefore, not only the unmatched vertices should be highlighted, but the cells that contain neighboring parallel edges in a sheet should also be displayed, which is crucial for a comprehensive global analysis. Examples of these visualizations can be found in Figure 9.

The self-intersecting sheets can be further decomposed into a number of subsheets for a detailed analysis. In this case, we visualize the individual subsheets as above for the sheets. In addition, we visualize the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe within each subsheets to describe the internal configurations of the subsheet. See Figure 10 for some examples of this visualization.

7 Results

We apply the hybrid base complex construction and its visualization to analyze and compare three sets of hex-dominant meshes. The first set is produced by At-Most-Hexa meshing [10], which we downloaded from hexalab.net [46] and contains 7 relatively simple models. The second set is released by the Robust-Hex-Dominant meshing [9], which contains 106 models, including many models with high genus and sharp features. The third set is from LoopyCuts [8], which has 39 models. To our knowledge, those models are all we can obtain from current state-of-the-art hex-dominant meshing methods.

7.1 Structural Analysis of Hex-dominant Meshes

Figure 1 demonstrates the process of using our hybrid base complex and its decomposition and visualization to support the analysis of the structural configurations of a cylinder hex-dominant mesh produced by the At-Most-Hexa method [10]. This mesh has 1655 3D cells. 1545 of them are hexes (i.e., 93.3% of cells are hexes). (a)–(c) show the steps of constructing the hybrid base complex, and (d)–(f) show the visual analysis of an imperfect sheet in the obtained hybrid base complex. The direct visualization (a) that most hex-dominant meshing techniques use shows a pure hex configuration on the boundary of the cylinder and a few simple non-hex cells (e.g., triangles) on the base face. However, our hybrid singularity graph (b) reveals that the surface non-hex cells propagate through the volume. While these non-hex cells only stack along the direction of the cylinder, they result in a complex hybrid base complex (i.e., with many components, as shown by different colored blocks in (c)). Next, we inspect an imperfect sheet (d) that occupies a larger volume of the cylinder. This sheet has a complex boundary as shown by its corresponding VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G (e). (f) shows the simplified VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe derived from VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G. It aims to show the orientation and propagation of the irregular and non-hex configurations. It has a dense configuration.

To decipher the detailed configurations, we further decompose this imperfect sheet into a few subsheets (subsection 4.3) (g). Each subsheet is displayed with a unique color and is defined by a set of parallel edges (i.e., the thick red edges). For each subsheet, we construct and visualize its VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe. We now can see the orientation of the irregular and non-hex configurations clearly using the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframes. A close inspection reveals that, while the yellow subsheet has a small number of non-hex cells, they are oriented in different directions (e.g., the opening of the “Y” shapes in the upper row is different from the one in the lower row). However, these two differently oriented configurations can be removed separately using the strategy demonstrated in Figure 5g–h, as they do not seem to overlap (or intersect) with each other. When inspecting the purple subsheet, we notice that non-hex configurations are oriented consistently in the vertical portion of the subsheet, but differently in the horizontal part. This indicates that the former can be easily removed, while the latter may not. Other subsheets and their VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframes can be analyzed similarly. Please zoom in on the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe images to see the above details. A similar multi-level study can be performed on the two twisted cube meshes shown in Figure 11, which will be described later.

Refer to caption
(a)
Refer to caption
(b)
Figure 11: Comparison of the structural configurations of the hex-dominant meshes of a twisted cube produced by the At-Most-Hexa method (a) and the Robust Hex-Dominant meshing (b), respectively.

Figure 10 provides a detailed analysis of an imperfect sheet of 8(c) from the scarf3𝑠𝑐𝑎𝑟𝑓3scarf3italic_s italic_c italic_a italic_r italic_f 3 hex-dominant mesh. This sheet (in the dashed box) contains self-intersecting configurations, in which the parallel edges point to different directions caused by the direction change at the intersections. Its VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe shows many non-hex configurations (with “Y”-shape configuration) that form a cluster, which prevents an effective study of how they impact the structure of the sheet. We then decompose the sheet into 4 subsheets with only type-1 or type-2 configuration. The 3 largest subsheets are shown. While 2 subsheets in the right columns have simple plane-like configurations (so are their respective VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframes), the subsheet in the second column contains two separated groups of non-hex configurations oriented in two different directions. Among them, the group in the middle part of this subsheet has non-hex configurations with consistent orientation, suggesting a possibility of removing all of them.

7.2 Compare Hex-dominant Meshes Produced by Different Methods

We next apply our method to study the differences in the structure characteristics of the hex-dominant meshes produced by different methods, which was hard to achieve previously.

Refer to caption
(a) LoopyCuts
Refer to caption
(b) Robust hex-dominant meshing
Figure 12: Comparison of the structural configurations of the hex-dominant meshes of a teapot model produced by the LoopyCuts method (a) and the Robust-Hex-Dominant Meshing (b), respectively.

In Figure 11, we compare the results of two different algorithms, i.e., the At-Most-Hexa Meshing (a) and the Robust-Hex-Dominant Meshing (b), on the Cube Twist model. It is obvious that At-Most-Hexa produces a mesh with a large number of non-hex elements, resulting in a very complex singularity graph (second row) as well as many small components in the obtained hybrid base complex (third row). In contrast, the Robust-Hex-Dominant places non-hex elements in fewer places, resulting in a simpler singularity graph and a hybrid base complex with fewer and larger blocks. Additionally, the extracted sheets (fifth row) show that the mesh by the Robust-Hex-Dominant has larger and simpler (e.g., plane-like) sheets (with fewer holes or gaps in the sheets), indicating the simplicity of its structure. To study the complexity of the irregular and non-hex configurations, we compare their respective VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframes (fourth row). Visually, the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe of the mesh by the Robust-Hex-Dominant is much cleaner than the one by the At-Most-Hexa. Not only it has fewer irregular and non-hex configurations, but also their orientations are aligned with one of the three principal directions. This is probably because the Robust-Hex-Dominant is a field-aligned method, in which the octohedral field used to guide the placement of 3D cells is aligned with the three principal directions of the cube.

The last row of Figure 11 shows some representative imperfect sheets from the two obtained hybrid base complexes, respectively. Again, the sheets from the mesh by the Robust-Hex-Dominant are simpler than those from the other mesh. Specifically, they are plane-like and aligned with the surface features. This simplicity is also reflected by their respective VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframes, each of which contains similarly oriented irregular and non-hex configurations that can be removed. In contrast, the mesh by the At-Most-Hexa has a complex imperfect sheet that possesses self-intersecting configurations (i.e., the first sheet shown in the last row). This imperfect sheet can be decomposed into several simpler subsheets (shown by different colored blocks) that are mutually orthogonal to each other. The complex configuration of this imperfect sheet is also reflected by its VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe which exhibits a dense configuration. The (cyan) sheet shown at the bottom of (a) has a non-planar configuration (i.e., not all involved hexes are on the same plane). This is caused by the presence of a few non-hex elements that lift their adjacent hex cells. While these non-hex cells are simple individually (i.e., triangle-like), they have different orientations and intersect with each other, as shown by the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe, suggesting that removing them may not be easy.

Refer to caption
(a) LoopyCuts
Refer to caption
(b) Robust hex-dominant meshing
Figure 13: Comparison of the structural configurations of the hex-dominant meshes of a blade model produced by the LoopyCuts method (a) and the Robust-Hex-Dominant Meshing (b), respectively.

A comparison between the LoopyCuts and the Robust-Hex-dominant method is shown in Figure 13 and Figure 12, respectively. It is apparent that LoopyCuts takes advantage of simple cuts, resulting in a simpler singularity graph (second column) and a hybrid base complex with larger blocks (third column). However, due to the inherent limitations of loops and the emphasis on a smaller number of cuts, the structure may exhibit large distortion in certain areas, e.g., the top of the teapot and the far end of the blade where the sizes of the components shrink (last column). In contrast, the Robust-Hex-Dominant method produces a more regular structure (i.e., with uniform-size components). In the meantime, while both methods place non-hex elements along the feature lines of the blade model (see their respective VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframes) and the orientation of these non-hex elements are aligned with the principal directions of the model, they behave significantly differently on the teapot model. In particular, the irregular and non-hex elements are uniformly distributed in the mesh by the Robust-Hex-Dominant, illustrated by the evenly distributed color lines in the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe. In contrast, those non-hex elements are placed and oriented irregularly in the mesh by the LoopyCuts. This will make their future removal challenging. The different behavior of LoopyCuts on the two models suggests that LoopyCuts may produce better meshes for CAD models where their sharp features can provide guidance to the cutting, while it may not work well for organic-like models where the intrinsic cuts are hard to derive. Nevertheless, LoopyCuts still produces hex-dominant meshes with fewer non-hex elements than the Robust-Hex-Dominant meshing.

The above examples demonstrate that the proposed structure facilitates the characterization of the global (or structural) properties of individual hex-dominant meshes and the comparison of structure differences between two meshes, which was previously impossible. By using hybrid base complexes and their respective substructures, we can observe how a few non-hex elements can result in intricate configurations in the extracted hybrid base complex, particularly when these elements are located in the model’s interior. For example, the teapot mesh produced by LoopyCuts (11(a)) contains only 24 non-hex cells (out of 2404 cells), and all these non-hex cells are simple with at most 6 faces each. However, they result in a complex interior structure as shown by the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe. While traditional visualizations may indicate the locations of non-hex cells locally, they cannot depict how these non-hex cells affect the mesh configurations globally. Our multi-level structure representation addresses this issue.

7.3 Performance

Our hybrid base complex construction and the derivation of other substructure representations are implemented using Python. The proposed visualizations are achieved using Blender via customized Python plugins. We have applied our implementation to the three sets of hex-dominant meshes without failure. Table I provides the statistics for the meshes used in the paper. All timing information was measured on a workstation running Windows 11 and with an Intel 12th i5 CPU, Navida RTX 2070 GPU and 32 GB RAM. The statistics for all meshes that we have experimented with can be found in the supplemental materials.

Models |C|𝐶|C|| italic_C | |H||C|𝐻𝐶\frac{|H|}{|C|}divide start_ARG | italic_H | end_ARG start_ARG | italic_C | end_ARG |CB|subscript𝐶𝐵|C_{B}|| italic_C start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT | |HB||CB|subscript𝐻𝐵subscript𝐶𝐵\frac{|H_{B}|}{|C_{B}|}divide start_ARG | italic_H start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT | end_ARG start_ARG | italic_C start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT | end_ARG |GSH|subscript𝐺𝑆𝐻|G_{SH}|| italic_G start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT | |GSHT1|superscriptsubscript𝐺𝑆𝐻𝑇1|G_{SH}^{T1}|| italic_G start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T 1 end_POSTSUPERSCRIPT | |GSHT2|superscriptsubscript𝐺𝑆𝐻𝑇2|G_{SH}^{T2}|| italic_G start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T 2 end_POSTSUPERSCRIPT | |GSHT3|superscriptsubscript𝐺𝑆𝐻𝑇3|G_{SH}^{T3}|| italic_G start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T 3 end_POSTSUPERSCRIPT | |GSH*|subscript𝐺𝑆𝐻|G_{SH*}|| italic_G start_POSTSUBSCRIPT italic_S italic_H * end_POSTSUBSCRIPT | TGSsubscript𝑇subscript𝐺𝑆T_{G_{S}}italic_T start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT end_POSTSUBSCRIPT TGBsubscript𝑇subscript𝐺𝐵T_{G_{B}}italic_T start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT end_POSTSUBSCRIPT TVSGWsubscript𝑇𝑉𝑆𝐺𝑊T_{VSGW}italic_T start_POSTSUBSCRIPT italic_V italic_S italic_G italic_W end_POSTSUBSCRIPT TGSHsubscript𝑇subscript𝐺𝑆𝐻T_{G_{SH}}italic_T start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT end_POSTSUBSCRIPT TGSH*subscript𝑇subscript𝐺𝑆𝐻T_{G_{SH*}}italic_T start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_S italic_H * end_POSTSUBSCRIPT end_POSTSUBSCRIPT
blade𝑏𝑙𝑎𝑑superscript𝑒blade^{\dagger}italic_b italic_l italic_a italic_d italic_e start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT 4125 0.994 1107 0.98 34 3 0 1 23 0.32 7.33 6.39 0.25 0.32
blade𝑏𝑙𝑎𝑑superscript𝑒blade^{{\ddagger}}italic_b italic_l italic_a italic_d italic_e start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT 2751 0.774 2751 0.77 171 16 2 1 2 0.62 7.42 36.4 0.81 0.22
cylinderg*𝑐𝑦𝑙𝑖𝑛𝑑𝑒superscriptsubscript𝑟𝑔cylinder_{g}^{*}italic_c italic_y italic_l italic_i italic_n italic_d italic_e italic_r start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT 1655 0.934 1275 0.91 28 19 0 1 8 0.14 2.57 2.54 0.45 0.09
cylindern*𝑐𝑦𝑙𝑖𝑛𝑑𝑒superscriptsubscript𝑟𝑛cylinder_{n}^{*}italic_c italic_y italic_l italic_i italic_n italic_d italic_e italic_r start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT 1671 0.858 1671 0.86 25 15 1 1 30 0.19 3.02 11.32 0.41 0.79
scarf3𝑠𝑐𝑎𝑟𝑓superscript3scarf3^{\dagger}italic_s italic_c italic_a italic_r italic_f 3 start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT 5877 0.996 763 0.97 36 6 1 3 4 0.44 13.64 3.13 0.16 0.02
jumpRamp*𝑗𝑢𝑚𝑝𝑅𝑎𝑚superscript𝑝jumpRamp^{*}italic_j italic_u italic_m italic_p italic_R italic_a italic_m italic_p start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT 1460 0.973 352 0.89 26 0 1 0 0 0.11 1.18 0.28 0.08 0
teapot𝑡𝑒𝑎𝑝𝑜superscript𝑡teapot^{\dagger}italic_t italic_e italic_a italic_p italic_o italic_t start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT 2404 0.99 772 0.97 23 5 1 2 3 0.18 2.88 2.66 0.23 0.01
teaport𝑡𝑒𝑎𝑝𝑜𝑟superscript𝑡teaport^{{\ddagger}}italic_t italic_e italic_a italic_p italic_o italic_r italic_t start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT 5844 0.797 5844 0.8 124 20 12 1 0 2.15 24.21 199.47 3.32 0
twistcube_s*𝑡𝑤𝑖𝑠𝑡𝑐𝑢𝑏𝑒_superscript𝑠twistcube\_s^{*}italic_t italic_w italic_i italic_s italic_t italic_c italic_u italic_b italic_e _ italic_s start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT 1301 0.889 1301 0.89 20 16 2 1 9 0.12 2.09 6.13 0.36 0.3
twistcube𝑡𝑤𝑖𝑠𝑡𝑐𝑢𝑏superscript𝑒twistcube^{{\ddagger}}italic_t italic_w italic_i italic_s italic_t italic_c italic_u italic_b italic_e start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT 493 0.963 221 0.92 19 8 0 0 0 0.04 0.33 0.16 0.03 0
TABLE I: \dagger indicate meshes from LoopyCuts, {\ddagger} Robust-Hex-Dominant mesh, and *** At-Most-Hexa. |C|𝐶|C|| italic_C | indicates the number of cells, |H||C|𝐻𝐶\frac{|H|}{|C|}divide start_ARG | italic_H | end_ARG start_ARG | italic_C | end_ARG the hex ratio, |CB|subscript𝐶𝐵|C_{B}|| italic_C start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT | the number of hybrid base complex components, |HB||CB|subscript𝐻𝐵subscript𝐶𝐵\frac{|H_{B}|}{|C_{B}|}divide start_ARG | italic_H start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT | end_ARG start_ARG | italic_C start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT | end_ARG the ratio of hex base complex components, |GSH|subscript𝐺𝑆𝐻|G_{SH}|| italic_G start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT | the number of extracted sheets, |GSHT1|superscriptsubscript𝐺𝑆𝐻𝑇1|G_{SH}^{T1}|| italic_G start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T 1 end_POSTSUPERSCRIPT | the number of type-1 imperfect sheet, |GSHT2|superscriptsubscript𝐺𝑆𝐻𝑇2|G_{SH}^{T2}|| italic_G start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T 2 end_POSTSUPERSCRIPT | the number of self-parallel imperfect sheets, |GSHT3|superscriptsubscript𝐺𝑆𝐻𝑇3|G_{SH}^{T3}|| italic_G start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T 3 end_POSTSUPERSCRIPT | the number of self-intersecting sheets, |GSH*|subscript𝐺𝑆𝐻|G_{SH*}|| italic_G start_POSTSUBSCRIPT italic_S italic_H * end_POSTSUBSCRIPT | the number of subsheets for the largest self-intersecting sheet, TGSsubscript𝑇subscript𝐺𝑆T_{G_{S}}italic_T start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT end_POSTSUBSCRIPT the time to extract hybrid singularity graph, TGBsubscript𝑇subscript𝐺𝐵T_{G_{B}}italic_T start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT end_POSTSUBSCRIPT the time to extract hybrid base complex, TVSGWsubscript𝑇𝑉𝑆𝐺𝑊T_{VSGW}italic_T start_POSTSUBSCRIPT italic_V italic_S italic_G italic_W end_POSTSUBSCRIPT the time to extract a VSG wireframe of the mesh, TGSHsubscript𝑇subscript𝐺𝑆𝐻T_{G_{SH}}italic_T start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_S italic_H end_POSTSUBSCRIPT end_POSTSUBSCRIPT the time to extract sheets, and TGSH*subscript𝑇subscript𝐺𝑆𝐻T_{G_{SH*}}italic_T start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_S italic_H * end_POSTSUBSCRIPT end_POSTSUBSCRIPT the time to extract all sub-sheet for the largest self-intersecting sheet.

8 Conclusion and Future Work

This paper presents the first structure, called the hybrid base complex, for hex-dominant meshes. This structure covers both hexahedral elements and non-hexahedral elements. Our structure is a natural extension of the conventional base complex for all-hex meshes. With this structure, we can evaluate the quality of the hex-dominant meshes in a more global sense which was impossible previously. To support an effective study of the structure of a hex-dominant mesh, especially the configurations of the non-hex elements and their impact on the subsequent simplification process, we extract a few substructures of the structure, including sheets, valence-based singularity graph VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G, and VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe. These substructures reduce the visual complexity and support a multi-level study of the structure configurations of a hex-dominant mesh. To further reduce the clutter in the visualization of the extracted substructures, a number of simplification strategies are introduced to further decompose a complex sheet into simpler subsheets and to reduce the geometric elements in the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe. The extraction of the hybrid base complex and its substructures leads to an integrated framework for visual analysis of the structures of various hex-dominant meshes. We have applied our framework to over 120 hex-dominant meshes produced by three state-of-the-art meshing techniques to analyze their structural characteristics and compare their structural differences. The results demonstrate the effectiveness of our method.

Several future directions can be explored based on our work. First, the proposed structure representations (including the hybrid singularity graph, hybrid base complex, and imperfect sheets) can be used to define comprehensive metrics to quantify the structural complexity of a given hex-dominant mesh in a similar fashion to the work [12]. Second, the imperfect sheet decomposition and the construction of the VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe set the foundation for the development of effective operations to procedurally remove certain non-hex elements and improve the hex-dominant mesh quality. Third, the current visualization of VSG𝑉𝑆𝐺VSGitalic_V italic_S italic_G wireframe does not differentiate non-hex configurations of different types (e.g., with different numbers of faces), which can be improved. Finally, the proposed analysis and visualization framework based on the proposed structural representations can be integrated into a stand-alone or web-based visualization system, making it more accessible to the meshing community. Finally, the extraction of some structural representations can be optimized to achieve real-time performance.

Acknowledgments

We would like to thank the anonymous reviewers for their valuable feedback and comments to this work. This research was supported by NSF OAC 2102761.

References

  • [1] T. Schneider, J. Dumas, X. Gao, M. Botsch, D. Panozzo, and D. Zorin, “Poly-spline finite-element method,” ACM Trans. Graph., vol. 38, no. 3, mar 2019.
  • [2] S. C. Tadepalli, A. Erdemir, and P. R. Cavanagh, “Comparison of hexahedral and tetrahedral elements in finite element analysis of the foot and footwear,” Journal of biomechanics, vol. 44, no. 12, pp. 2337–2343, 2011.
  • [3] T. Schneider, Y. Hu, X. Gao, J. Dumas, D. Zorin, and D. Panozzo, “A large-scale comparison of tetrahedral and hexahedral elements for solving elliptic pdes with the finite element method,” ACM Trans. Graph., vol. 41, no. 3, pp. 1–14, 2022.
  • [4] P.-A. Beaufort, M. Reberol, H. Liu, F. Ledoux, and D. Bommes, “Hex me if you can,” arXiv preprint arXiv:2111.10295, 2021.
  • [5] H. Liu, P. Zhang, E. Chien, J. Solomon, and D. Bommes, “Singularity-constrained octahedral fields for hexahedral meshing,” ACM Trans. Graph., vol. 37, no. 4, jul 2018.
  • [6] N. Pietroni, M. Campen, A. Sheffer, G. Cherchi, D. Bommes, X. Gao, R. Scateni, F. Ledoux, J. Remacle, and M. Livesu, “Hex-mesh generation and processing: a survey,” ACM Trans. Graph., vol. 42, no. 2, pp. 1–44, 2022.
  • [7] P.-E. Bernard, J.-F. Remacle, N. Kowalski, and C. Geuzaine, “Frame field smoothness-based approach for hex-dominant meshing,” Computer-Aided Design, vol. 72, pp. 78–86, 2016, 23rd International Meshing Roundtable Special Issue: Advances in Mesh Generation.
  • [8] M. Livesu, N. Pietroni, E. Puppo, A. Sheffer, and P. Cignoni, “Loopycuts: Practical feature-preserving block decomposition for strongly hex-dominant meshing,” ACM Trans. Graph., vol. 39, no. 4, pp. 121–1, 2020.
  • [9] X. Gao, W. Jakob, M. Tarini, and D. Panozzo, “Robust hex-dominant mesh generation using field-guided polyhedral agglomeration,” ACM Trans. Graph., vol. 36, no. 4, pp. 1–13, 2017.
  • [10] D. R. Bukenberger, M. Tarini, and H. P. Lensch, “At-most-hexa meshes,” in Computer Graphics Forum, vol. 41, no. 1.   Wiley Online Library, 2022, pp. 7–28.
  • [11] X. Gao, Z. Deng, and G. Chen, “Hexahedral mesh re-parameterization from aligned base-complex,” ACM Trans. Graph., vol. 34, no. 4, pp. 1–10, 2015.
  • [12] K. Xu and G. Chen, “Hexahedral mesh structure visualization and evaluation,” IEEE Transactions on Visualization and Computer Graphics, vol. 25, no. 1, pp. 1173–1182, 2018.
  • [13] A. Gibbons, Algorithmic graph theory.   Cambridge university press, 1985.
  • [14] D. B. West et al., Introduction to graph theory.   Prentice hall Upper Saddle River, 2001, vol. 2.
  • [15] X. Gao, T. Martin, S. Deng, E. Cohen, Z. Deng, and G. Chen, “Structured volume decomposition via generalized swee**,” IEEE Transactions on Visualization and Computer Graphics, vol. 22, no. 7, pp. 1899–1911, July 2016.
  • [16] X. Gao, H. Shen, and D. Panozzo, “Feature preserving octree-based hexahedral meshing,” in Computer Graphics Forum, vol. 38, no. 5.   Wiley Online Library, 2019, pp. 135–149.
  • [17] L. Pitzalis, M. Livesu, G. Cherchi, E. Gobbetti, and R. Scateni, “Generalized adaptive refinement for grid-based hexahedral meshing,” ACM Trans. Graph., vol. 40, no. 6, pp. 1–13, 2021.
  • [18] J. Gregson, A. Sheffer, and E. Zhang, “All-hex mesh generation via volumetric polycube deformation,” Computer Graphics Forum, vol. 30, no. 5, pp. 1407–1416, 2011.
  • [19] M. Livesu, N. Vining, A. Sheffer, J. Gregson, and R. Scateni, “Polycut: monotone graph-cuts for polycube base-complex construction,” ACM Trans. Graph., vol. 32, no. 6, p. 171, 2013.
  • [20] J. Huang, T. Jiang, Z. Shi, Y. Tong, H. Bao, and M. Desbrun, “L1-based construction of polycube maps from complex shapes,” ACM Trans. Graph., vol. 33, no. 3, pp. 25:1–25:11, 2014.
  • [21] X. Fang, W. Xu, H. Bao, and J. Huang, “All-hex meshing using closed-form induced polycube,” ACM Trans. Graph., vol. 35, no. 4, pp. 124:1–124:9, Jul. 2016.
  • [22] H.-X. Guo, X. Liu, D.-M. Yan, and Y. Liu, “Cut-enhanced polycube-maps for feature-aware all-hex meshing,” ACM Trans. Graph., vol. 39, no. 4, pp. 106–1, 2020.
  • [23] J. Huang, Y. Tong, H. Wei, and H. Bao, “Boundary aligned smooth 3d cross-frame field,” ACM Trans. Graph., vol. 30, no. 6, pp. 143:1–143:8, Dec. 2011.
  • [24] M. Nieser, U. Reitebuch, and K. Polthier, “Cubecover- parameterization of 3d volumes,” Computer Graphics Forum, vol. 30, no. 5, pp. 1397–1406, 2011.
  • [25] Y. Li, Y. Liu, W. Xu, W. Wang, and B. Guo, “All-hex meshing using singularity-restricted field,” ACM Trans. Graph., vol. 31, no. 6, pp. 177:1–177:11, Nov. 2012.
  • [26] T. Jiang, J. Huang, Y. T. Yuanzhen Wang, and H. Bao, “Frame field singularity correction for automatic hexahedralization,” IEEE Transactions on Visualization and Computer Graphics, vol. 20, no. 8, pp. 1189–1199, Aug. 2014.
  • [27] T. Blacker, “Automated conformal hexahedral meshing constraints, challenges and opportunities,” Engineering with Computers, vol. 17, no. 3, pp. 201–210, 2001.
  • [28] N. Ray, D. Sokolov, M. Reberol, F. Ledoux, and B. Lévy, “Hex-dominant meshing: mind the gap!” Computer-Aided Design, vol. 102, pp. 94–103, 2018.
  • [29] S. Meshkat and D. Talmor, “Generating a mixed mesh of hexahedra, pentahedra and tetrahedra from an underlying tetrahedral mesh,” International Journal for Numerical Methods in Engineering, vol. 49, no. 1-2, pp. 17–30, 2000.
  • [30] S. J. Owen, “Hex-dominant mesh generation using 3d constrained triangulation,” Computer-Aided Design, vol. 33, no. 3, pp. 211–220, 2001.
  • [31] S. Yamakawa and K. Shimada, “Hexhoop: modular templates for converting a hex-dominant mesh to an all-hex mesh,” Engineering with computers, vol. 18, no. 3, pp. 211–228, 2002.
  • [32] J. Pellerin, A. Johnen, K. Verhetsel, and J.-F. Remacle, “Identifying combinations of tetrahedra into hexahedra: A vertex based strategy,” Computer-Aided Design, vol. 105, pp. 1–10, 2018.
  • [33] B. Lévy and Y. Liu, “lpsubscript𝑙𝑝l_{p}italic_l start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT centroidal voronoi tessellation and its applications,” ACM Trans. Graph., vol. 29, no. 4, pp. 1–11, 2010.
  • [34] D. Sokolov, N. Ray, L. Untereiner, and B. Lévy, “Hexahedral-dominant meshing,” ACM Trans. Graph., vol. 35, no. 5, p. 157, 2016.
  • [35] N. Ray, W. C. Li, B. Lévy, A. Sheffer, and P. Alliez, “Periodic global parameterization,” ACM Trans. Graph., vol. 25, no. 4, pp. 1460–1485, 2006.
  • [36] Y. Yu, J. G. Liu, and Y. J. Zhang, “Hexdom: polycube-based hexahedral-dominant mesh generation,” in Mesh Generation and Adaptation.   Springer, 2022, pp. 137–155.
  • [37] X. Gao, D. Panozzo, W. Wang, Z. Deng, and G. Chen, “Robust structure simplification for hex re-meshing,” ACM Trans. Graph., vol. 36, no. 6, pp. 1–13, 2017.
  • [38] M. N. Akram, G. Chen, and Y. Zhang, “Impact of hex-mesh structure to simulation quality – a first study,” in 28th International Meshing Roundtable, Research Abstract, 2019.
  • [39] H. Brückler, O. Gupta, M. Mandad, and M. Campen, “The 3D Motorcycle Complex for Structured Volume Decomposition,” Computer Graphics Forum, 2022.
  • [40] D. Eppstein, M. T. Goodrich, E. Kim, and R. Tamstorf, “Motorcycle graphs: Canonical quad mesh partitioning,” in Computer Graphics Forum, vol. 27, no. 5.   Wiley Online Library, 2008, pp. 1477–1486.
  • [41] H. Brückler, D. Bommes, and M. Campen, “Volume parametrization quantization for hexahedral meshing,” ACM Trans. Graph., vol. 41, no. 4, pp. 1–19, 2022.
  • [42] N. Schertler, D. Panozzo, S. Gumhold, and M. Tarini, “Generalized motorcycle graphs for imperfect quad-dominant meshes,” ACM Trans. Graph., vol. 37, no. 4, 2018.
  • [43] M. Bracci, M. Tarini, N. Pietroni, M. Livesu, and P. Cignoni, “Hexalab. net: An online viewer for hexahedral meshes,” Computer-Aided Design, vol. 110, pp. 24–36, 2019.
  • [44] C. Neuhauser, J. Wang, and R. Westermann, “Interactive focus+ context rendering for hexahedral mesh inspection,” IEEE Transactions on Visualization and Computer Graphics, vol. 27, no. 8, pp. 3505–3518, 2021.
  • [45] L. Si and G. Chen, “A visualization system for hexahedral mesh quality study,” in 2023 IEEE Visualization and Visual Analytics (VIS), 2023, pp. 86–90.
  • [46] M. Bracci, M. Tarini, N. Pietroni, M. Livesu, and P. Cignoni, “Hexalab.net: An online viewer for hexahedral meshes,” Computer-Aided Design, vol. 110, pp. 24–36, 2019.
[Uncaptioned image] Lei Si is a Ph.D. student in Computer Science from the Department of Computer Science, University of Houston. He earned an M.S. degree with honors in Computer Science from the University of Illinois at Springfield in 2020, And B.E. in Cybersecurity at North China University of Technology in 2018, His research focuses on geometric modeling, visualization, physically-based simulation, computer vision, cyber security, and artificial intelligence.
[Uncaptioned image] Haowei Cao is a Master of Science candidate in Electrical and Computer Engineering at Johns Hopkins University. His prior studies at the University of Houston centered on Ph.D.-level research in Computer Science, delving into Image Processing, Computer Vision, and Artificial Intelligence. he achieved his Bachelor of Science in Computer Science, minoring in Mathematics, from the University of Tennessee-Knoxville, graduating Summa Cum Laude.
[Uncaptioned image] Guoning Chen is an Associate Professor at the Department of Computer Science at the University of Houston. He earned a Ph.D. degree in Computer Science from Oregon State University in 2009. His research interests include visualization, data analytics, computational topology, geometric modeling, geometry processing and physically-based simulation. He is a senior member of IEEE and a member of ACM.