Suppose I have an elevated Delaunay triangulation such as below:

Suppose the vertices are embedded as $(x_i,y_i,z_i) \in \mathbb{R}^3$ where $i \in \{1, \cdots, m \}$.
Let us assume that $z(x,y)$ is the elevation function of $x,y$, but we have a data set instead of an explicit expression.
I would like to calculate a numerical Hessian (i.e. using second finite differences) about each $i$th point by using its neighbors in the Delaunay triangulation.
The first concern I have is that the neighbors about the $i$th point are in rectangular grid, and thus moving from one point to an adjacent point isn't really stepping in just the $x$ or $y$ direction. The second concern is that a given point can have more than four neighbors, so there is an ambiguity of how to choose which neighbors to compute the second derivatives with.
How could I numerically calculate the (finite difference) Hessian from such a mesh?
Related Links/Notes:
- Second directional derivative and Hessian matrix
- How to find second directional derivative
- I also wonder if the points at the boundary of the mesh would have well-defined finite differences in both direction anyway. Perhaps the boundary points of the mesh would have to be excluded, which would be okay for dense meshes.