Level sets of scalar-valued functions

f[x_,y_]=2x-y
Plot3D[f[x,y],{x,-4,4},{y,-4,4}]
plot1=ContourPlot[f[x,y],{x,-4,4},{y,-4,4}];
gradf = Grad[f[x,y],{x,y}]
plot2 = VectorPlot[gradf,{x,-4,4},{y,-4,4}];
Show[plot1]

f[x_,y_] = x^2 - y^2
Plot3D[f[x,y],{x,-4,4},{y,-4,4}]
plot1=ContourPlot[f[x,y],{x,-4,4},{y,-4,4}];
gradf = Grad[f[x,y],{x,y}]
plot2 = VectorPlot[gradf,{x,-4,4},{y,-4,4}];
Show[plot1]

f[x_,y_] = x^2+y^2
Plot3D[f[x,y],{x,-4,4},{y,-4,4}]
plot1=ContourPlot[f[x,y],{x,-4,4},{y,-4,4}];
gradf = Grad[f[x,y],{x,y}]
plot2 = VectorPlot[gradf,{x,-4,4},{y,-4,4}];
Show[plot1]

3D Level set

f[x_,y_,z_]=x^2+y^2-z^2
plot1=ContourPlot3D[f[x,y,z],{x,-4,4},{y,-4,4},{z,-4,4}];
gradf=Grad[f[x,y,z],{x,y,z}]
plot2=VectorPlot3D[gradf,{x,-4,4},{y,-4,4},{z,-4,4}];
Show[plot1,plot2]

Functions with no limit at (0,0)

f[x_,y_] = x y/(x^2 + y^2)
Plot3D[f[x,y],{x,-1,1},{y,-1,1}]
ContourPlot[f[x,y],{x,-1,1},{y,-1,1}]

f[x_,y_] = x^2 y/(x^4 + y^2)
Plot3D[f[x,y],{x,-1,1},{y,-1,1},PlotPoints->200]
ContourPlot[f[x,y],{x,-1,1},{y,-1,1}]

Functions that have derivatives in every direction at (0,0) but are nevertheless not differentiable.

f[x_,y_] =x y^2/(x^4+y^2)
Plot3D[f[x,y],{x,-1,1},{y,-1,1},PlotPoints->200]
ContourPlot[f[x,y],{x,-1,1},{y,-1,1},Contours->50]

f[x_,y_] = Piecewise[{{1,0<y && y<x^2}},0]
Plot3D[f[x,y],{x,-1,1},{y,-1,1},PlotPoints->200,PlotRange->{-.5,1.5}]
ContourPlot[f[x,y],{x,-1,1},{y,-1,1},PlotPoints->200]

Tangent plane to the graph of a scalar function of two variables

f[x_,y_] = x^2 + 2y^2

{a1,a2}={.5,1}
radius=.22
fx[x_,y_]=2x
fy[x_,y_]=4y
plot1=Plot3D[f[x,y],{x,a1-radius,a1+radius},{y,a2-radius,a2+radius}]
plot2=Plot3D[f[a1,a2]+fx[a1,a2](x-a1)+fy[a1,a2](y-a2),{x,a1-radius,a1+radius},{y,a2-radius,a2+radius}]
Show[{plot1,plot2},AspectRatio->1]