0

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:

Galen
  • 1,946

1 Answers1

1

I would answer your first concern.

From your description, I would assume that your Delaunary triangulation most likely forms irregular mesh such that you are not able to directly calculate the first and second derivative of $z(x,y)$ w.r.t. $x$ or $y$. But you are able to calculate from the given dataset the second directional derivative $\partial_{\mathbf{uu}}z$, $\partial_{\mathbf{vv}}z,$ and $\partial_{\mathbf{uv}}z$, where $\mathbf{u}=(u_1,u_2)$ and $\mathbf{v}=(v_1,v_2)$ are the unit vectors pointing from a concerned triangular mesh to two adjoining triangular meshes respectively. It can be proved that

$$ \begin{aligned} \partial_{\mathbf{uv}}z &= \nabla_{\mathbf{u}}(\nabla_{\mathbf{v}}z)\\ &=\nabla_{\mathbf{u}}(z_xv_1+z_y v_2) \\ &=z_{xx}u_1v_1+z_{xy}(u_1 v_2+u_2v_1)+z_{yy}u_2 v_2 \end{aligned} $$

$$ \begin{aligned} \partial_{\mathbf{uu}}z &= z_{xx} u_1^2 + 2u_1 u_2 z_{xy} + u_2^2 z_{yy} \end{aligned} $$

$$ \begin{aligned} \partial_{\mathbf{vv}}z &= z_{xx} v_1^2 + 2v_1 v_2 z_{xy} + v_2^2 z_{yy} \end{aligned} $$

Rewrite the above three equations into a matrix form:

$$ \begin{bmatrix} \partial_{\mathbf{uu}}z \\ \partial_{\mathbf{uv}}z \\ \partial_{\mathbf{vv}}z \end{bmatrix} = \begin{bmatrix} u_1^2 &2u_1 u_2 &u_2^2 \\ u_1v_1 & u_1 v_2+u_2 v_1 &u_2 v_2 \\ v_1^2 & 2v_1 v_2 & v_2^2 \end{bmatrix} \begin{bmatrix} z_{xx} \\ z_{xy} \\ z_{yy} \end{bmatrix} $$

Since $\partial_{\mathbf{uu}}z$, $\partial_{\mathbf{vv}}z,$ $\partial_{\mathbf{uv}}z$, $(u_1,u_2)$ and $(v_1,v_2)$ are known, $z_{xx}$, $z_{xy}$ and $z_{yy}$ can be calculated and thus the hessian $z_{xx}z_{yy}-z_{xy}^2$.

As for the second concern, I am not familiar with finite difference method with irregular mesh. Hope someone else can answer.

Ken T
  • 337