I am trying to find points of a surface whose normal is parallel with the 3 dimensional axes (i.e. local maxima, minima and saddle points in x, y and z dimensions).

The function of the surface is defined as $f(u,v)$ which is continuous and gives a 3D vector indicating the position of the surface for a given set of parameters u and v.

To find the points I require I understand that I need to find the derivatives of the surface with respect to u and v. The relevant points will occur when:

$\frac{\delta f_i(u,v)}{\delta u}=0$ & $\frac{\delta f_i(u,v)}{\delta v}=0$

where $i$ is the respective dimension (x,y or z) and $0\leq u\leq1$ & $0\leq v\leq1$.

What kind of strategy should I take to solving this problem? I was thinking it may be possible to use a numerical method with the partial derivatives to iteratively find solutions. But then how would I remove the solution as you would in univariate root finding?

Any insights would be really useful.


The derivatives $\partial_u f(u,v)$ and $\partial_v f(u,v)$ are two vectors tangent to yor surface that in general span the tangent space to the surface at the point $f(u,v)$. Then the normal vector to the surface at that point is $n(u,v)=\partial_u f(u, v)\times\partial_v f(u,v)$ and you want it parallel to say the coordinate direction $e_z=(0,0,1)^T$. Then yo want to solve the equation $n(u,v)\times e_z=(\partial_u f(u, v)\times\partial_v f(u,v))\times e_z=0.$ After applying a simplification formula for a double cross-product like this one, you get equations like the ones you have written. To solve the system of equations numerically maybe you can simply use Newton's method or something of that kind.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.