Table of Contents
Fetching ...

A Robust Grid-Based Meshing Algorithm for Embedding Self-Intersecting Surfaces

Steven W. Gagniere, Yushan Han, Yizhou Chen, David A. B. Hyde, Alan Marquez-Razon, Joseph Teran, Ronald Fedkiw

TL;DR

This work presents a method for the creation of a volumetric embedding hexahedron mesh from a self‐intersecting input triangle mesh and develops a novel topology‐aware embedding mesh coarsening technique to allow for user‐specified mesh resolution as well as a topology-aware tetrahedralization of the hexahingron mesh.

Abstract

The creation of a volumetric mesh representing the interior of an input polygonal mesh is a common requirement in graphics and computational mechanics applications. Most mesh creation techniques assume that the input surface is not self-intersecting. However, due to numerical and/or user error, input surfaces are commonly self-intersecting to some degree. The removal of self-intersection is a burdensome task that complicates workflow and generally slows down the process of creating simulation-ready digital assets. We present a method for the creation of a volumetric embedding hexahedron mesh from a self-intersecting input triangle mesh. Our method is designed for efficiency by minimizing use of computationally expensive exact/adaptive precision arithmetic. Although our approach allows for nearly no limit on the degree of self-intersection in the input surface, our focus is on efficiency in the most common case: many minimal self-intersections. The embedding hexahedron mesh is created from a uniform background grid and consists of hexahedron elements that are geometrical copies of grid cells. Multiple copies of a single grid cell are used to resolve regions of self-intersection/overlap. Lastly, we develop a novel topology-aware embedding mesh coarsening technique to allow for user-specified mesh resolution as well as a topology-aware tetrahedralization of the hexahedron mesh.

A Robust Grid-Based Meshing Algorithm for Embedding Self-Intersecting Surfaces

TL;DR

This work presents a method for the creation of a volumetric embedding hexahedron mesh from a self‐intersecting input triangle mesh and develops a novel topology‐aware embedding mesh coarsening technique to allow for user‐specified mesh resolution as well as a topology-aware tetrahedralization of the hexahingron mesh.

Abstract

The creation of a volumetric mesh representing the interior of an input polygonal mesh is a common requirement in graphics and computational mechanics applications. Most mesh creation techniques assume that the input surface is not self-intersecting. However, due to numerical and/or user error, input surfaces are commonly self-intersecting to some degree. The removal of self-intersection is a burdensome task that complicates workflow and generally slows down the process of creating simulation-ready digital assets. We present a method for the creation of a volumetric embedding hexahedron mesh from a self-intersecting input triangle mesh. Our method is designed for efficiency by minimizing use of computationally expensive exact/adaptive precision arithmetic. Although our approach allows for nearly no limit on the degree of self-intersection in the input surface, our focus is on efficiency in the most common case: many minimal self-intersections. The embedding hexahedron mesh is created from a uniform background grid and consists of hexahedron elements that are geometrical copies of grid cells. Multiple copies of a single grid cell are used to resolve regions of self-intersection/overlap. Lastly, we develop a novel topology-aware embedding mesh coarsening technique to allow for user-specified mesh resolution as well as a topology-aware tetrahedralization of the hexahedron mesh.
Paper Structure (34 sections, 2 equations, 31 figures, 1 table)

This paper contains 34 sections, 2 equations, 31 figures, 1 table.

Figures (31)

  • Figure 1: Algorithm overview. Given an initial input surface mesh $\mathcal{S}$, there are three major steps in the computation of the final volumetric extension mesh $\mathcal{V}$: Volumetric Extension, Interior Extension Region Creation, and Interior Extension Region Merging. (Volumetric Extension) In this step, we create a precursor mesh for each element in $\mathcal{S}$, and compute preliminary signing information for the vertices. We then merge the precursor meshes to create the volumetric extension $\mathcal{V}^S$ and correct the signing information where necessary. (Interior Extension Region Creation) In preparation for growing the volumetric extension into the interior, we first partition the nodes of the background grid using the edges cut by $\mathcal{S}$. We decide which regions are interior and count the copies of each region using the vertices of $\mathcal{V}^S$ which have negative sign. For each interior region $j^I$ with at least one copy, we then create a hexahedron mesh $\mathcal{V}^{j^I,c}$ for each copy $c$. (Interior Extension Region Merging) The merging process begins with copying relevant hexahedra from $\mathcal{V}^S$ into $\mathcal{V}^{j^I,c}$. First, certain vertices of $\mathcal{V}^{j^I,c}$ are replaced by corresponding vertices from $\mathcal{V}^S$. Hexahedra to be replaced are then removed from $\mathcal{V}^{j^I,c}$ before the boundary hexahedra are copied in. We then merge the various meshes $\mathcal{V}^{j^I,c}$ by first determining where different meshes overlap, and then using these hexahedra overlap lists to perform the final merge.
  • Figure 2: Intersection-free mapping. Two mappings from a non-self-intersecting region $\tilde{\mathcal{S}}^V$ to self-intersecting boundary $\mathcal{S}$ are shown. The second mapping (right) requires the existence of a negative Jacobian determinant.
  • Figure 3: Two overlapping bunnies naturally separate. The top part of each subfigure shows the meshes generated by our algorithm, while the bottom part of each subfigure shows the corresponding surface meshes.
  • Figure 4: A face surface with self-intersecting lips is successfully meshed. The right-hand side of each of the first four frames shows the deformed hexahedron mesh, while each left-hand side shows the corresponding surface mesh. The wireframe boxes represent Dirichlet boundary condition regions. In the bottom four subfigures, lip intersection is visualized in the input surface and subsequent hexahedron mesh.
  • Figure 5: Mesh conventions.(Left) A sample triangle mesh is shown, along with the vector $\mathbf{m}^S$. The incident elements $\mathcal{I}^S_6$ for vertex $6$ are also shown. The first 10 faces, visible from the front, have been labeled on the mesh. (Right) The left pair of triangles are consistently oriented; the orientations of the edge induced by the normals point in opposite directions. For the right pair, the orientations on the common edge point in the same direction; this is not consistent.
  • ...and 26 more figures