next up previous contents
Next: 3.3.2 Curvature Up: 3.3 Approximations to Geometric Previous: 3.3 Approximations to Geometric

3.3.1 Surface Normal

Generally, the normal vector at point $ {\vec{x}}$ on the LS of a smooth function is given by

$\displaystyle {\vec{n}}({\vec{x}})=\frac{\nabla{\Phi}}{\lVert\nabla{\Phi}\rVert}.$ (3.21)

At grid points $ {\vec{p}}\in{\mathcal{G}}$ the $ i$ -th component of the normal vector can be approximated by

$\displaystyle {n}_i({\vec{p}}) \approx \frac{{D}^0_{i}{\Phi}({\vec{p}})}{\sqrt{\sum_{j=1}^{D}\left({D}^0_{j}{\Phi}({\vec{p}})\right)^2}}.$ (3.22)

Here $ {D}^0_{i}$ is the central difference operator as defined in (3.6). The normal vector for a grid point close to the surface $ {\mathcal {S}}$ represented by the zero LS is also a good approximation for the normal on the surface for the closest surface point. The closest surface point $ {\vec{x}}_{\text{cp}}({\vec{p}})\in{\mathcal{S}}$ of a nearby grid point $ {\vec{p}}$ can be approximated by [135]

$\displaystyle {\vec{x}}_{\text{cp}}({\vec{p}})\approx{\vec{p}}-{\vec{n}}({\vec{p}})\cdot\frac{{\Phi}({\vec{p}})}{\lVert\nabla{\Phi}\rVert},$ (3.23)

if the grid point indices $ {\vec{p}}$ are equal to the grid point coordinates. Here the last factor corresponds to the approximated signed distance to the surface. For the denominator the same approximation is used as in (3.22).


next up previous contents
Next: 3.3.2 Curvature Up: 3.3 Approximations to Geometric Previous: 3.3 Approximations to Geometric

Otmar Ertl: Numerical Methods for Topography Simulation