Unit Normal for Surfaces

This follows in much the same way. Consider the cone x^2+y^2=(1-z)^2.
Here's the plot. (I fancied it up for you!)

In[109]:=

  <<Graphics`ParametricPlot3D`

In[110]:=

  cone=ParametricPlot3D[{r Cos[u],
  r Sin[u],1-r},{u,0,2 Pi,Pi/20},
  {r,0,1}]

Out[111]=

  -Graphics3D-

In[112]:=

  Clear[f,x,y,z]
  f[x_,y_,z_]:=x^2+y^2-(1-z)^2

In[113]:=

  grad3[f][x,y,z]

Out[113]=

  {2 x, 2 y, 2 (1 - z)}

In[114]:=

  u=grad3[f][x,y,z]/norm3[grad3[f][x,y,z]]

Out[114]=

                2 x
  {------------------------------, 
           2      2            2
   Sqrt[4 x  + 4 y  + 4 (1 - z) ]
   
                 2 y
    ------------------------------, 
            2      2            2
    Sqrt[4 x  + 4 y  + 4 (1 - z) ]
   
              2 (1 - z)
    ------------------------------}
            2      2            2
    Sqrt[4 x  + 4 y  + 4 (1 - z) ]

In[115]:=

  utest=u/.{x->0,y->1,z->0}

Out[115]=

         1        1
  {0, -------, -------}
      Sqrt[2]  Sqrt[2]

In[116]:=

  vector=ParametricPlot3D[{0+t*utest[[1]],1+t*utest[[2]],
  0+t*utest[[3]]},{t,0,1},DisplayFunction->Identity];

In[117]:=

  Show[cone,vector,DisplayFunction->$DisplayFunction]

Out[118]=

  -Graphics3D-

Up to Gradient and Normals to Curves and Surfaces