Graphics Reference
In-Depth Information
t-junction
crack
gap
t-vertex
(a)
(b)
(c)
Figure 12.9 (a) A (nonhole) crack. (b) A gap. (c) A t-junction (and its corresponding t-vertex).
Several methods can be employed for detecting the presence of t-junctions. A
straightforward approach is to loop over all vertices of the mesh and for each vertex
test its connected edges, pairwise, for (near) collinearity. If two collinear edges are
found, the edges are part of a crack. The crack can be resolved by merging the endpoint
of one edge onto the other edge. Because vertices may be visited in any order, for
this approach to correctly resolve cracks that involve an arbitrary number of vertices
it is important that the endpoint vertices of the two merged edges be recursively
revisited after the merge to locate all vertices on the edge-chain of the crack. If the
mesh under repair is known to be 2-manifold, it is possible to limit the process
to examining only those edges that have exactly one face connected to them. This
method is simple to implement and it deals with all cracks correctly. However, it does
not address gaps, in that gaps by definition cannot be found by a local examination
of the geometry.
Resolving gaps correctly requires a more sophisticated, global method. Given an
edge, this method must be able to find all mesh vertices lying on or nearly on the
edge. Alternatively, given a vertex the method must be able to locate all edges the
vertex is near. A practical solution is to insert all mesh edges into a hierarchical
structure like an hgrid or a loose octree, which can then be queried for each vertex
of the mesh.
As crack- or gap-induced t-junctions are found, they must be resolved. There are
three main approaches to resolving t-junctions (illustrated in Figure 12.10).
Vertex collapse . The t-vertex is displaced along the edge opposing it, toward either
endpoint of the edge, and collapsed with that endpoint.
Edge cracking . A more general solution is to split the edge opposing the t-vertex
in half and connect the two new endpoints to the t-vertex. This increases the
vertex count of all faces connected to the opposing edge by one.
Search WWH ::




Custom Search