Chapter 4 The Scoping Study
1. The Pilot Study
After a mesh is adapted to a surface, some fraction of the tetrahedra on the boundary are typically skewed. There are three methods generally used to improve the quality of the tetrahedra in a mesh (ABE97; FOG96): inserting or removing points, local re-meshing, and mesh smoothing to relocate grid points.
To proceed, it will be necessary to have a metric of the quality, or lack of skewness of a tetrahedron. We use the quality metric of a tetrahedron presented in Section 2.2:
Quality = sign(Volume)· 37 Volume4 (P4
i=1Area2i)3, (2.2)
where the sum in the denominator is over the squared areas of each face of the tetrahedron. The metric is 0 for a degenerate tetrahedron and 1 for an equilateral tetrahedron.
2.7.1 Mesh Smoothing
The simplest mesh improvement technique is Laplacian smoothing. With this method, each node point is moved towards the center of all its neighbors. Laplacian smooth-ing is local; each node is only affected by its neighbors. Laplacian smoothsmooth-ing also requires few computations. Alas, this algorithm can actually decrease the quality of the tetrahedral mesh (FJP95; FOG96). Looking at Figure 2-7, one can understand some of the problems with Laplacian smoothing. The point in the figure is roughly at the center of its neighbors, where Laplacian smoothing would move it. Unfortu-nately, the green tetrahedron is nearly flat in the resulting configuration; its quality is therefore close to zero.
Figure 2-7: A point to be smoothed and all the tetrahedra which have it as a vertex.
The green tetrahedron has much lower quality than the remaining tetrahedra; all of its nodes lie in a plane (it is a sliver). Laplacian smoothing would leave the point roughly where it is. However, a smoothing algorithm’s goal should be to increase the quality of the green tetrahedron to become similar to the rest.
To improve the smoothing algorithm, while still keeping it a local method, one considers the quality of the tetrahedra. At each point p, one would like to move the point to increase the quality of the tetrahedra containing p. Specifically, it is the
minimum quality one would like to increase. One possible function to maximize is:
~xˆp = arg max
~xp
min
t∈Tetp
Quality(t)
(2.3)
where ~xp is the position of point p,and Tetp are the tetrahedra with p as a vertex.
Thus, an alternative mesh improvement algorithm moves each node to the location that maximizes the minimum quality of the surrounding tetrahedra. This method was proposed by Freitag and Olliver-Gooch, and more generally by Amenta et al.
(ABE97); we call it the “local optimum search method” because it searches for an optimum to Equation 2.3. Like Laplacian smoothing, the method is local; each node is moved based only on its neighbors. Unlike Laplacian smoothing the local optimum search algorithm has the property that each node movement strictly improves the minimum quality of the tetrahedra that possess that node as a vertex. This property is very useful because it guarantees the minimum quality of tetrahedra in the mesh can never decrease.
We have found two difficulties with the local optimum search method. First, the qualities of tetrahedra must be evaluated many times during an iteration, so that each iteration is computationally expensive. More importantly, we find that the method converges to a locally optimal mesh that is often of much lower quality than we have achieved using other methods. In particular, after two or three iterations, the local optimum search method has often mostly converged. Because the algorithm is local, the small number of iterations only allows interactions between nodes that are close to each other in the mesh; neighborhoods of tetrahedra that are far away do not interact. For a smoothing algorithm to work well, one would expect that it should possess the ability to allow long range iterations.
Based on this expectation, we hypothesize a “noisy” smoothing algorithm might perform better than the local optimum search method. Such a smoothing algorithm would explore more of the search space of possible node positions. We therefore designed a new method that moves a node in a direction to increase the quality of the lowest quality surrounding tetrahedron, rather than to find the maximum-minimum
quality as suggested by Equation 2.3. By making approximations to the direction and how far a node is moved, we expect to explore more of the search space of node positions before convergence. This new technique is described in Section 2.8.2.
2.7.2 Edge Collapse
Edge Collapse
Figure 2-8: Example of edge collapse. The points, indicated with dots, are collapsed into one point causing a tetrahedron to be deleted. In this case, a “wedge” is deleted.
Edge Collapse is another important algorithm which we pursue. As shown in Figure 2-8, it is often possible to delete poor quality tetrahedra simply by collapsing them out of the mesh. Edge collapse has the effect of removing one node from the mesh. We consider collapsing edges of the lowest quality tetrahedra after smoothing.
We find the lowest quality tetrahedra, and decide if collapsing an edge will decrease or increase the minimum quality of the tetrahedron affected. Edge collapse is known to sometimes cause surrounding tetrahedra to invert; however, this situation is prevented by our quality criterion.
2.7.3 Edge Flipping
Rather than removing points, one can attempt to change the connectivity of a region.
Several researchers have tried Delaunay re-triangulation of a small region (KO98).
Others have tried local face swaps or edge swaps (ES96). We implemented edge swapping for two simple cases: an edge owned by 4 tetrahedra and an edge owned by 3 tetrahedra, as shown in Figure 2-9. Each swap is performed only if the swap increases the quality of the resulting tetrahedra. In practice, we use edge-flipping techniques only on the lowest quality tetrahedra.
3 Tet to 2 Tet 4 Tet to 4 Tet
Figure 2-9: Two examples of swappable configurations. On the left three tetrahedra are transformed to two tetrahedra. On the right, the inner edge of four tetrahedra is moved to create four different tetrahedra.