<< Graphics`Shapes`;
Off[General::"spell1"];
Off[General::"spell"]

An illustration of partial derivatives

Clear[c, d, PicFfxy, F, Fx, Fy];
 xmin = -2; xmax = 2; ymin = -2; ymax = 2; zmin = 0; zmax = 3; 
    th = 0.01; th1 = 0.005; st = 0.025;  pp = 45;
F[x_, y_] := 2.7 - (y^2 + x^2);
Fx[x_, y_] = D[F[x, y], x];
Fy[x_, y_] = D[F[x, y], y];
\(PicFfxy[c_, 
        d_] := 
Show[
WireFrame[
Graphics3D[
 (*convert\ to\ Graphics3D*) 
Plot3D[F[x, y], {x, xmin, xmax}, {y, ymin, ymax}, 
              PlotRange -> {zmin, zmax}, PlotPoints -> pp, 
              Mesh -> True, MeshStyle -> Thickness[0.001], 
              ClipFill -> None, 
              DisplayFunction -> \ 
                Identity]
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ]
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], 
\ \ \ Graphics3D[{
{Thickness[th], Red, 
              Line[\({#, d, F[#, d]} &\) /@ 
                  Range[xmin, xmax, st]]}, 
{Thickness[
                th1], Red, 
              Line[\({#, d, Fx[c, d] \((# - c)\) + F[c, d]} &\) /@ 
                  Range[xmin, xmax, st]]}, 
{Thickness[
                th1], RGBColor[0.75, 0, 0], 
              Line[{{xmin, d, zmin}, {xmax, d, zmin}, {xmax, d, zmax}, {xmin, 
                    d, zmax}, {xmin, d, 
                    zmin}}]}
}], 
\ \ \ Graphics3D[{
{Thickness[th], Green, 
              Line[\({c, #, F[c, #]} &\) /@ 
                  Range[ymin, ymax, st]]}, 
{Thickness[
                th1], Green, 
              Line[\({c, #, Fy[c, d] \((# - d)\) + F[c, d]} &\) /@ 
                  Range[ymin, ymax, st]]}, 
{Thickness[
                th1], RGBColor[0, 0.75, 0], 
              Line[{{c, ymin, zmin}, {c, ymax, zmin}, {c, ymax, zmax}, {c, 
                    ymin, zmax}, {c, ymin, 
                    zmin}}]}
}], 
\ \ Graphics3D[{
{PointSize[0.03], 
              Point[{c, d, F[c, d]}]}, {Thickness[th1], 
              Line[{{c, d, zmin}, {c, d, 
                    zmax}}]}
}], 
PlotRange -> \ {{xmin, xmax}, {ymin, ymax}, {zmin, 
              zmax}}, 
BoxRatios -> Automatic, 
        AxesLabel -> {"x", "y", "z"}, 
        ViewPoint -> {\(-2.335\), \ \(-1.488\), \ 
            1.945}, 
\ \ \ \ \ \ \ DisplayFunction -> $DisplayFunction, ImageSize -> 300]\)

PicFfxy[- .5, - .5];

Clear[c, d, PicFfxy, F, Fx, Fy];
  xmin = 0; xmax = 2  Pi; ymin = 0; ymax = Pi; zmin = -1.5; 
    zmax = 1.5; th = 0.01; th1 = 0.005; st = 0.025;  
    pp = 45;
F[x_, y_] := Sin[y] Cos[x];
Fx[x_, y_] = D[F[x, y], x];
Fy[x_, y_] = D[F[x, y], y];
\(PicFfxy[c_, 
        d_] := 
Show[
WireFrame[
Graphics3D[
 (*convert\ to\ Graphics3D*) 
Plot3D[F[x, y], {x, xmin, xmax}, {y, ymin, ymax}, 
              PlotRange -> {zmin, zmax}, PlotPoints -> pp, 
              Mesh -> True, MeshStyle -> Thickness[0.001], 
              ClipFill -> None, 
              DisplayFunction -> \ 
                Identity]
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ]
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], 
\ \ \ Graphics3D[{
{Thickness[th], Red, 
              Line[\({#, d, F[#, d]} &\) /@ 
                  Range[xmin, xmax, st]]}, 
{Thickness[
                th1], Red, 
              Line[\({#, d, Fx[c, d] \((# - c)\) + F[c, d]} &\) /@ 
                  Range[xmin, xmax, st]]}, 
{Thickness[
                th1], RGBColor[0.75, 0, 0], 
              Line[{{xmin, d, zmin}, {xmax, d, zmin}, {xmax, d, zmax}, {xmin, 
                    d, zmax}, {xmin, d, 
                    zmin}}]}
}], 
\ \ \ Graphics3D[{
{Thickness[th], Green, 
              Line[\({c, #, F[c, #]} &\) /@ 
                  Range[ymin, ymax, st]]}, 
{Thickness[
                th1], Green, 
              Line[\({c, #, Fy[c, d] \((# - d)\) + F[c, d]} &\) /@ 
                  Range[ymin, ymax, st]]}, 
{Thickness[
                th1], RGBColor[0, 0.75, 0], 
              Line[{{c, ymin, zmin}, {c, ymax, zmin}, {c, ymax, zmax}, {c, 
                    ymin, zmax}, {c, ymin, 
                    zmin}}]}
}], 
\ \ Graphics3D[{
{PointSize[0.03], 
              Point[{c, d, F[c, d]}]}, {Thickness[th1], 
              Line[{{c, d, zmin}, {c, d, 
                    zmax}}]}
}], 
PlotRange -> \ {{xmin, xmax}, {ymin, ymax}, {zmin, 
              zmax}}, 
BoxRatios -> Automatic, 
        AxesLabel -> {"x", "y", "z"}, 
        ViewPoint -> {\(-2.335\), \ \(-1.488\), \ 
            1.945}, 
\ \ \ \ \ \ \ DisplayFunction -> $DisplayFunction, ImageSize -> 300]\)

PicFfxy[5.25,  1];

Table[PicFfxy[x,  1], {x, 0, 2 Pi, (Pi/32)}];

Plot3D[
      3  x - (x^3) - 3  y + (y^3), {x, -2, 2}, {y, -2.2, 
        2.2}]

Clear[c, d, PicFfxy, F, Fx, Fy];
 xmin = -2; xmax = 2; ymin = -2; ymax = 2; zmin = -5; 
    zmax = 5; th = 0.008; th1 = 0.005; st = 0.025;  
    pp = 45;
F[x_, y_] := 3 x  - x^3 - 3 y + y^3;
Fx[x_, y_] = D[F[x, y], x];
Fy[x_, y_] = D[F[x, y], y];
\(PicFfxy[c_, 
        d_] := 
Show[
WireFrame[
Graphics3D[
 (*convert\ to\ Graphics3D*) 
Plot3D[F[x, y], {x, xmin, xmax}, {y, ymin, ymax}, 
              PlotRange -> {zmin, zmax}, PlotPoints -> pp, 
              Mesh -> True, MeshStyle -> Thickness[0.001], 
              ClipFill -> None, 
              DisplayFunction -> \ 
                Identity]
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ]
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], 
\ \ \ Graphics3D[{
{Thickness[th], Red, 
              Line[\({#, d, F[#, d]} &\) /@ 
                  Range[xmin, xmax, st]]}, 
{Thickness[
                th1], Red, 
              Line[\({#, d, Fx[c, d] \((# - c)\) + F[c, d]} &\) /@ 
                  Range[xmin, xmax, st]]}, 
{Thickness[
                th1], RGBColor[0.75, 0, 0], 
              Line[{{xmin, d, zmin}, {xmax, d, zmin}, {xmax, d, zmax}, {xmin, 
                    d, zmax}, {xmin, d, 
                    zmin}}]}
}], 
\ \ \ Graphics3D[{
{Thickness[th], Green, 
              Line[\({c, #, F[c, #]} &\) /@ 
                  Range[ymin, ymax, st]]}, 
{Thickness[
                th1], Green, 
              Line[\({c, #, Fy[c, d] \((# - d)\) + F[c, d]} &\) /@ 
                  Range[ymin, ymax, st]]}, 
{Thickness[
                th1], RGBColor[0, 0.75, 0], 
              Line[{{c, ymin, zmin}, {c, ymax, zmin}, {c, ymax, zmax}, {c, 
                    ymin, zmax}, {c, ymin, 
                    zmin}}]}
}], 
\ \ Graphics3D[{
{PointSize[0.03], 
              Point[{c, d, F[c, d]}]}, {Thickness[th1], 
              Line[{{c, d, zmin}, {c, d, 
                    zmax}}]}
}], 
PlotRange -> \ {{xmin, xmax}, {ymin, ymax}, {zmin, 
              zmax}}, 
AxesLabel -> {"x", "y", "z"}, 
\ \ \ \ \ \ \ DisplayFunction -> $DisplayFunction, ImageSize -> 350]\)

PicFfxy[1.25, 1.5];