**Figure 1.**
Minimum, Saddle, and Maximum, respectively.

**Figure 1.**
Minimum, Saddle, and Maximum, respectively.

**Figure 2.**
An example of a Reeb graph (right) of a scalar function (left) defined on a surface with a boundary.

**Figure 2.**
An example of a Reeb graph (right) of a scalar function (left) defined on a surface with a boundary.

**Figure 3.**
The types of vertices on a triangulated mesh. From left to right: minimum, maximum, regular vertex, and saddle.

**Figure 3.**
The types of vertices on a triangulated mesh. From left to right: minimum, maximum, regular vertex, and saddle.

**Figure 4.**
For ${t}_{p}$ a critical value, on the left, the set ${f}^{-1}({t}_{p})$ consists of a singular set ${C}_{p}$ and two of simple closed curves. On the right, only the critical set ${C}_{p}$ is shown, which is the connected component of ${f}^{-1}({t}_{p})$ that contains the critical point p.

**Figure 4.**
For ${t}_{p}$ a critical value, on the left, the set ${f}^{-1}({t}_{p})$ consists of a singular set ${C}_{p}$ and two of simple closed curves. On the right, only the critical set ${C}_{p}$ is shown, which is the connected component of ${f}^{-1}({t}_{p})$ that contains the critical point p.

**Figure 5.**
A split saddle on the left and a merge saddle on the right.

**Figure 5.**
A split saddle on the left and a merge saddle on the right.

**Figure 6.**
Summary of the sequential algorithm. (1) The input of the algorithm is a manifold M with a scalar function f. (2) Computing the critical sets. (3) For each saddle point or minimum, we compute the ascending paths (4) creating the edges of the Reeb graph by the information encoded in the start vertex of the ascending vertex and its termination critical set.

**Figure 6.**
Summary of the sequential algorithm. (1) The input of the algorithm is a manifold M with a scalar function f. (2) Computing the critical sets. (3) For each saddle point or minimum, we compute the ascending paths (4) creating the edges of the Reeb graph by the information encoded in the start vertex of the ascending vertex and its termination critical set.

**Figure 7.**
The set of vertices, edges, and faces in the mesh M, which ${f}^{-1}(t)$ intersects. The top two figures depict cases where t is a regular value. The top figure shows an example of when there exists a vertex v in M, such that $v\in {f}^{-1}(t)$. The second figure shows the case where no such a vertex exists. In other words, ${f}^{-1}(t)$ intersects only edges and faces of M. The third figure is an example of the local neighborhood, a critical point of f or when ${f}^{-1}(t)$ contains a critical point. The purple simplices represent the set $C{R}_{f}(t)$. The union of the green and purple simplices represents the set $\overline{C{R}_{f}(t)}$. The blue edges and nodes are the edges in the complexes that are shown in the figure and nodes in $\overline{C{R}_{f}(t)}$, which have f-values less than or equal to t. The red edges and nodes are the edges in the complexes shown in the figure and nodes in $\overline{C{R}_{f}(t)}$, which have f-values that are higher than or equal to t.

**Figure 7.**
The set of vertices, edges, and faces in the mesh M, which ${f}^{-1}(t)$ intersects. The top two figures depict cases where t is a regular value. The top figure shows an example of when there exists a vertex v in M, such that $v\in {f}^{-1}(t)$. The second figure shows the case where no such a vertex exists. In other words, ${f}^{-1}(t)$ intersects only edges and faces of M. The third figure is an example of the local neighborhood, a critical point of f or when ${f}^{-1}(t)$ contains a critical point. The purple simplices represent the set $C{R}_{f}(t)$. The union of the green and purple simplices represents the set $\overline{C{R}_{f}(t)}$. The blue edges and nodes are the edges in the complexes that are shown in the figure and nodes in $\overline{C{R}_{f}(t)}$, which have f-values less than or equal to t. The red edges and nodes are the edges in the complexes shown in the figure and nodes in $\overline{C{R}_{f}(t)}$, which have f-values that are higher than or equal to t.

**Figure 8.**
Given a Morse function f on a surface M, we can slice M, so that, around each critical value t, the submanifold ${M}_{[t-\u03f5,t+\u03f5]}$ is a disjoint union of simple building blocks: pair of pants, topological cylinders, and topological disks.

**Figure 8.**
Given a Morse function f on a surface M, we can slice M, so that, around each critical value t, the submanifold ${M}_{[t-\u03f5,t+\u03f5]}$ is a disjoint union of simple building blocks: pair of pants, topological cylinders, and topological disks.

**Figure 9.**
The building blocks of a surface. Given a scalar function f defined on a surface M, Theorem 2 asserts that we can decompose the surface into the building block pieces appear in above. These pieces are genus zero surfaces with a single boundary component (disk), genus zero surfaces with three boundary components (pair of pants), and a genus zero surface with two boundary components (cylinder).

**Figure 9.**
The building blocks of a surface. Given a scalar function f defined on a surface M, Theorem 2 asserts that we can decompose the surface into the building block pieces appear in above. These pieces are genus zero surfaces with a single boundary component (disk), genus zero surfaces with three boundary components (pair of pants), and a genus zero surface with two boundary components (cylinder).

**Figure 10.**
The restriction of the Reeb graph on the building blocks of a surface along with the part of the ascending paths in that part of the surface. Around each critical point, the structure of the ascending curves (orange) is identical to the structure of the Reeb graph. More precisely, the quotient space of the restriction of the function on the ascending curves the critical sets around a critical point (these are the curves highlighted by orange and red in the figure) is identical to the quotient space of the manifold locally.

**Figure 10.**
The restriction of the Reeb graph on the building blocks of a surface along with the part of the ascending paths in that part of the surface. Around each critical point, the structure of the ascending curves (orange) is identical to the structure of the Reeb graph. More precisely, the quotient space of the restriction of the function on the ascending curves the critical sets around a critical point (these are the curves highlighted by orange and red in the figure) is identical to the quotient space of the manifold locally.

**Figure 11.**
An illustration of the partition stage. (**a**) A connected component of the submanifold ${M}_{i}$ is obtained. (**b**) ${M}_{i}$ is extended to ${M}_{i}^{\prime}$ by adding the crossing edges. (**c**) A closeup of the crossing edges of the manifold ${M}_{i}^{\prime}$. The blue edges represent the crossings edges of ${E}_{i-1}$ and the green curve represents the portion of the curve ${f}^{-1}({c}_{i-1})$ within the closeup region.

**Figure 11.**
An illustration of the partition stage. (**a**) A connected component of the submanifold ${M}_{i}$ is obtained. (**b**) ${M}_{i}$ is extended to ${M}_{i}^{\prime}$ by adding the crossing edges. (**c**) A closeup of the crossing edges of the manifold ${M}_{i}^{\prime}$. The blue edges represent the crossings edges of ${E}_{i-1}$ and the green curve represents the portion of the curve ${f}^{-1}({c}_{i-1})$ within the closeup region.

**Figure 12.**
An illustration of the gluing stage. (**a**) At this stage, two ascending paths from all submanifolds have been calculated. In the case when two consecutive submanifolds share a crossing edge, such as the case in the illustrative figure, the ascending path of the lower submanifold ${M}_{1}$ gets terminated at the at a crossing edge. Similarly, an ascending path from the higher submanifold ${M}_{2}$ gets initiated at a crossing edge. (**b**) A zoomed version of Figure (**a**) shows the two crossing edges that determine uniquely two nodes in the Reeb graphs $R({M}_{1},f)$ and $R({M}_{2},f)$. The fact that these two edges belong to the same connected component in the inverse image of the regular crossing value is used to glue the graphs $R({M}_{1},f)$ and $R({M}_{2},f)$ along the blue nodes to obtain the graph in Figure (**c**).

**Figure 12.**
An illustration of the gluing stage. (**a**) At this stage, two ascending paths from all submanifolds have been calculated. In the case when two consecutive submanifolds share a crossing edge, such as the case in the illustrative figure, the ascending path of the lower submanifold ${M}_{1}$ gets terminated at the at a crossing edge. Similarly, an ascending path from the higher submanifold ${M}_{2}$ gets initiated at a crossing edge. (**b**) A zoomed version of Figure (**a**) shows the two crossing edges that determine uniquely two nodes in the Reeb graphs $R({M}_{1},f)$ and $R({M}_{2},f)$. The fact that these two edges belong to the same connected component in the inverse image of the regular crossing value is used to glue the graphs $R({M}_{1},f)$ and $R({M}_{2},f)$ along the blue nodes to obtain the graph in Figure (**c**).

**Figure 13.**
An illustration of the data retrieval procedure. (1) A value ${t}_{p}$ is selected from the interval $(0,1)$. (2) This value is used to determine a point p on the Reeb graph edge ${\mathcal{E}}_{e}$. (3) This point is contained in an edge ${E}_{k}$ on the mesh M. This edge is used to determine the circle $C{r}_{p}$

**Figure 13.**
An illustration of the data retrieval procedure. (1) A value ${t}_{p}$ is selected from the interval $(0,1)$. (2) This value is used to determine a point p on the Reeb graph edge ${\mathcal{E}}_{e}$. (3) This point is contained in an edge ${E}_{k}$ on the mesh M. This edge is used to determine the circle $C{r}_{p}$

**Figure 14.**
The arm of the female character mesh corresponds to a single arc in the Reeb graph associated with the scalar function indicated on the mesh. Observe that the gradient of this scalar function varies along this arm, which makes it hard to parametrize the mapping between the Reeb graph and the corresponding regions on the mesh.

**Figure 14.**
The arm of the female character mesh corresponds to a single arc in the Reeb graph associated with the scalar function indicated on the mesh. Observe that the gradient of this scalar function varies along this arm, which makes it hard to parametrize the mapping between the Reeb graph and the corresponding regions on the mesh.

**Figure 15.**
The gradients of hat functions of a triangle.

**Figure 15.**
The gradients of hat functions of a triangle.

**Figure 16.**
Computing the divergence at vertex ${v}_{i}$.

**Figure 16.**
Computing the divergence at vertex ${v}_{i}$.

**Figure 17.**
Obtaining a unit gradient scalar field.

**Figure 17.**
Obtaining a unit gradient scalar field.

**Figure 18.**
Speedups obtained by our parallel Reeb graph algorithm.

**Figure 18.**
Speedups obtained by our parallel Reeb graph algorithm.

**Figure 19.**
Some of the meshes that we used for our parallel Reeb graph computations.

**Figure 19.**
Some of the meshes that we used for our parallel Reeb graph computations.

**Figure 20.**
The steps of the cutting system algorithm. (1) mesh M with a scalar function defined on it are given. (2) The Reeb graph $R(M,f)$ is computed. (3) We compute a spanning tree of $R(M,f)$. (4) We select all edges in the graph that do not belong the spanning tree we computed in (3) and then we select an interior point on each one of these edges. (5) For each interior point, we used our augmented Reeb graph algorithm to compute the circle that corresponds to it on the mesh.

**Figure 20.**
The steps of the cutting system algorithm. (1) mesh M with a scalar function defined on it are given. (2) The Reeb graph $R(M,f)$ is computed. (3) We compute a spanning tree of $R(M,f)$. (4) We select all edges in the graph that do not belong the spanning tree we computed in (3) and then we select an interior point on each one of these edges. (5) For each interior point, we used our augmented Reeb graph algorithm to compute the circle that corresponds to it on the mesh.

**Figure 21.**
Examples of cut system curves on triangulated surfaces.

**Figure 21.**
Examples of cut system curves on triangulated surfaces.

**Figure 22.**
A Reeb graph can be used to segment a surface into a collection of topologically consistent patches. (1) The surface M, with a scalar function f, is given as an input. (2) The Reeb graph of $R(M,f)$ is calculated. (3) The deformation retract graph ${R}^{\prime}(M,f)$ of the graph $R(M,f)$ is calculated. (4) For each edge in the graph ${R}^{\prime}(M,f)$, we select a point. (5) We select the curves on the manifold M that corresponds to the points that were selected in the previous step.

**Figure 22.**
A Reeb graph can be used to segment a surface into a collection of topologically consistent patches. (1) The surface M, with a scalar function f, is given as an input. (2) The Reeb graph of $R(M,f)$ is calculated. (3) The deformation retract graph ${R}^{\prime}(M,f)$ of the graph $R(M,f)$ is calculated. (4) For each edge in the graph ${R}^{\prime}(M,f)$, we select a point. (5) We select the curves on the manifold M that corresponds to the points that were selected in the previous step.

**Figure 23.**
Examples of segmentation of higher genus surfaces into a pair of pants using our Reeb graph algorithm.

**Figure 23.**
Examples of segmentation of higher genus surfaces into a pair of pants using our Reeb graph algorithm.

**Figure 24.**
The angles ${\theta}_{ij}$ and ${\beta}_{ij}$ are defined with respect to an edge $[{v}_{i},{v}_{j}]$.

**Figure 24.**
The angles ${\theta}_{ij}$ and ${\beta}_{ij}$ are defined with respect to an edge $[{v}_{i},{v}_{j}]$.

**Figure 25.**
Example of Poisson fields on Triangulated meshes. In both characters, a single vertex, which is the highest node in the head of the character, was chosen to be the constrained vertex required to solve the Poisson equation. Observe how this scalar function follows the geometry of the mesh.

**Figure 25.**
Example of Poisson fields on Triangulated meshes. In both characters, a single vertex, which is the highest node in the head of the character, was chosen to be the constrained vertex required to solve the Poisson equation. Observe how this scalar function follows the geometry of the mesh.