• No se han encontrado resultados

10.3 VALORACIÓN DE IMPACTOS AMBIENTALES

AIRE SUELO

The algorithm in this section is due to Edelsbrunner et al. [EH02]. It takes as input any two PL interpolants f, g defined on a common simplicial complex, and produces a collection of edges of the complex that describes the Jacobi set of the functions. Because the Jacobi set can be described as the critical points of one function restricted to level sets of the other, we can choose functiong to represent time so that we can use this algorithm for the specific case when f is a time-varying PL interpolant.

Recall that the definition of the Jacobi set of two functions f, g: M R is the

set of points in M where the gradients of both functions are parallel. This condition

implies that the Jacobi set is the collection of critical points of the composite function

h = f +λg, for some λ ∈ R. In the PL case, we must decide if each edge of the

simplicial complex is critical by computing the Betti numbers of its lower link under the composite function hλ =f +λg. I restate the algorithm for checking criticality of

edges.

integer isJacobi(Edge uv)

λ= [f(v)−f(u)]/[g(u)−g(v)];

Lk−uv ={τ ∈Lkuv |w≤τ =⇒hλ(w)< hλ(v)};

return isCritical(Lk−uv).

The sub-routineisCritical can be implemented using the critical point classification described in Table 2.1. We can compute the Jacobi set by invokingisJacobi on each edge of the simplicial complex K. Assuming a constant bound on the number of vertices in the link of an edge, and letting n be the number of edges in the complex, the algorithm takes O(n) running time.

Artifacts of the Jacobi set Because the Jacobi set of the PL interpolant is re- stricted to the edges of K it possesses certain undesirable artifacts. Figure 6.6 shows an example.

time

Minimum Saddle Maximum

Figure 6.6: A critical point moving along the diagonal, as at left, gives a simple Jacobi curve, but one moving across the diagonal, as at right actually produces Jacobi curves with several possible paths.

Consider a triangulation of a cube about its diagonal from the front lower-left corner to the back top-right corner, and let time increase front to back as shown in Figure 6.6. We note that if the critical point moves in a path aligned with one of the edges connecting adjacent time steps then that single edge is sufficient to represent the trajec- tory. On the other hand, if the critical point moves along a path not aligned with any mesh edge then the Jacobi edges follow a zig-zag path to connect the critical points, as shown at the right in Figure 6.6. It is not difficult to assign function values to the vertices of the cube and of its neighbors(not shown in the figure) to make the front top-right vertex and the back bottom-left vertex a maximum and generate the zig-zag path. Such a path is undesirable in the implementation of the time-varying Reeb graph algorithm for two reasons.

First, the increase in the number of Jacobi edges required to represent a path is undesirable because the number of events that must be processed when computing time-varying Reeb graphs can be quadratic in the number of Jacobi edges.

Second, the zig-zag path can contain Jacobi vertices with more than two incident Jacobi edges. There are four edges incident to the front lower-left corner vertex, and to the back top-right corner vertex; the vertices are degenerate and contain two birth points and two death points, respectively. If a cube diagonally adjacent to each of these vertices has a similar zig-zag path then each of these vertices will have four more incident edges in that cube. I wish to process each birth or death point at a distinct time to avoid complicated case analysis while computing time-varying Reeb graphs. Therefore, I must unfold each degenerate vertex with multiple birth points into simple vertices with a single birth point, each incident to two Jacobi edges. Recall that the

71

index lemma tells us the indices of the critical points born at a birth point differ by unity. In Figure 6.6, I can pair the incident maximum edge with one of the two saddle edges, but which one is not clear.

I will compare these artifacts that PL produces with any artifacts that Tri and

Prism may produce and decide on which one is most suitable for use in computing time-varying Reeb graphs.

Removing bias. The zig-zag artifacts produced by PL are due to the bias in- troduced by the triangulation K about the main diagonal. A natural step to remove this bias is to remove this diagonal and choose another mesh decomposition and in- terpolation appropriate to that decomposition. Removing the triangulation about the diagonal turns K into the cubical mesh C and we can useTri for interpolation.