Tangent plane of implicit surface from normal derivative

166 Views Asked by At

Let $f : R^3\rightarrow R$ be the implicit equation of a surface embedded in $R^3$, where the surface is defined by the $0$-isosurface $\left\lbrace (x,y,z)\in R^3,\ f(x,y,z)=0 \right\rbrace$.

I would like to compute an orthonormal basis of the tangent plane of this surface at any point $(x,y,z)\in R^3$.

I know that the normal is equal to the normalize gradient of the surface: $$ N(x,y,z) = \begin{bmatrix} N_x(x,y,z)\\ N_y(x,y,z)\\ N_z(x,y,z) \end{bmatrix} = \frac{\nabla f(x,y,z)}{|| \nabla f(x,y,z) ||} $$ $$ \nabla f(x,y,z) = \begin{bmatrix} \frac{\partial f}{\partial x}(x,y,z)\\ \frac{\partial f}{\partial y}(x,y,z)\\ \frac{\partial f}{\partial z}(x,y,z) \end{bmatrix} $$

So I can compute directly an orthonormal basis from $N$.

My problem is that I do not have any expression of $N$ (or $f$), but I only have access to its derivatives $dN$:

$$ dN(x,y,z) = \begin{bmatrix} \frac{\partial N_x}{\partial x}(x,y,z) & \frac{\partial N_x}{\partial y}(x,y,z) & \frac{\partial N_x}{\partial z}(x,y,z) \\ \frac{\partial N_y}{\partial x}(x,y,z) & \frac{\partial N_y}{\partial y}(x,y,z) & \frac{\partial N_y}{\partial z}(x,y,z) \\ \frac{\partial N_z}{\partial x}(x,y,z) & \frac{\partial N_z}{\partial y}(x,y,z) & \frac{\partial N_z}{\partial z}(x,y,z) \\ \end{bmatrix} $$

So my question is how can I calculate a tangent plane basis, or the normal vector $N$, from this $dN$ matrix?