To run any of these cells, click the mouse pointer in the cell or click on the appropriate blue bounding box on the right hand side, and then press SHIFT-ENTER.

Range and Domain

f[x_, y_] := (Sqrt[16 - (x^2) - (y^2)])

\(To\ illustrate\ that\ the\ domain\ for\ this\ function\ is\ constrained\ by\ 0\)≤ (x^2) + (y^2) ≤ 16 (0 ≤ x ≤ 4 and 0 ≤ y ≤ 4), I' ve plotted the function from  - 
        6 to 6 in both the x and y directions .  
            In the Plot3D function that follows, \(errors\ are\ returned\ for\ values\ of\ x\ and\ y\ that\ are\ greater\ than\ 4\ since\ f[x, 
          y]\ will\ be\ a\ complex\ number . \ 
The\ second\ plot\ moves\ the\ viewpoint\ to\ the\ z\ axis\ so\ that\ variations\ in\ z\ are\ not\ visible . \ 
          In\ this\ way\ you\ can\ see\ the\ domain\ of\ x\ and\ y\ that\ produces\ real\ solutions\ for\ \(\(f\)\(.\)\)\)

\(
\(Plot3D[f[x, y], {x, \(-6\), 6}, {y, \(-6\), 6}, 
        PlotPoints -> 100, Mesh -> False];\)\)
Show[%, ViewPoint -> {0, 0, 2}];
Off[Plot3D::gval]

The following graph plots f[x,y] for certain constant values of x.

Off[Plot::plnr]
x = 0;p1 = Plot[f[x, y],{y, -4, 4},DisplayFunction -> Identity,PlotStyle -> {RGBColor[0, 0, 0]}];
x = -1;p2=Plot[f[x, y],{y, -4, 4},DisplayFunction -> Identity,PlotStyle -> {RGBColor[0, 0, 1]}];
x = 1;p3=Plot[f[x, y],{y, -4, 4},DisplayFunction -> Identity,PlotStyle -> {RGBColor[0, 1, 0]}];
x = -2;p4=Plot[f[x, y],{y, -4, 4},DisplayFunction -> Identity,PlotStyle -> {RGBColor[1, 0, 0]}];
x = 2;p5=Plot[f[x, y],{y, -4, 4},DisplayFunction -> Identity,PlotStyle -> {RGBColor[1, 1, 0]}];
x = -3;p6=Plot[f[x, y],{y, -4, 4},DisplayFunction -> Identity,PlotStyle -> {RGBColor[1, 0, 1]}];
x = 3;p7=Plot[f[x, y],{y, -4, 4},DisplayFunction -> Identity,PlotStyle -> {RGBColor[0, 1, 1]}];
x = -4;p8=Plot[f[x, y],{y, -4, 4},DisplayFunction -> Identity,PlotStyle -> {RGBColor[1, 1, 1]}];
x = 4;p9=Plot[f[x, y],{y, -4, 4},DisplayFunction -> Identity,PlotStyle -> {RGBColor[ .5,  .5,  .5]}];

Show[{p1, p2, p3, p4, p5, p6, p7, p8, 
          p9}, DisplayFunction -> $DisplayFunction, 
        AspectRatio -> Automatic];

Travelling Wave: z(x,t)

The following travelling wave z[x,t] oscillates sinusoidally in the spatial domain x as well as in the temporal domain t.

Clear[x, y, f]
z[x_, t_] := H  +  A Sin[k x - ω t]

A =  .25; H = 1; 
    f = ((1  π)/18); λ =   ((3  π)/3);
k = ((2 π)/λ);
ω  =  2 π f;

Let's hold t constant and see how z[x] behaves.

t = 0;
p1=Plot[z[x, t],{x, 0, 8},PlotRange -> {0, 1.5},DisplayFunction -> Identity,PlotStyle -> {RGBColor[0, 0, 0]}];
Show[{p1}, 
        DisplayFunction -> $DisplayFunction];

t = 0.2  π;p2=Plot[z[x, t],{x, 0, 8},PlotRange -> {0, 1.5},DisplayFunction -> Identity,PlotStyle -> {RGBColor[1, 0, 1]}];
Show[{p2}, 
        DisplayFunction -> $DisplayFunction];

Show[{p1, p2}, 
        DisplayFunction -> $DisplayFunction];

The black curve (t=0) leads the magenta curve (t=0.2 π) as its first maximum appears before the first maximum of the magenta curve.

Now let's hold x constant and see how z[t] behaves.

Clear[x, t]

x = 0;p1=Plot[z[x, t],{t, 0, 6},PlotRange -> {0, 1.5},DisplayFunction -> Identity,PlotStyle -> {RGBColor[0, 0, 0]}];
Show[{p1}, 
        DisplayFunction -> $DisplayFunction];

x = 0.2  π;p2=Plot[z[x, t],{t, 0, 6},PlotRange -> {0, 1.5},DisplayFunction -> Identity,PlotStyle -> {RGBColor[1, 0, 1]}];
Show[{p2}, 
        DisplayFunction -> $DisplayFunction];

Show[{p1, p2}, 
        DisplayFunction -> $DisplayFunction];

This time the black curve (x=0) lags the magenta curve (x=0.2 π) as its first maximum appears after the first maximum of the magenta curve.

To find out what z[x,t] looks like for all values of x and t, we could plot hundreds of similar lines with x or t held constant, and then mesh the results. Alternatively we can just evaluate the function at hundreds of combinations of x and t. Either way, the resulting surface is as below.
Try changing the values of λ and / or f and see what effect this has on the resulting surface.

Clear[x, t]
p2=Plot3D[z[x, t],{x, 0, 8},{t, 0, 6},PlotRange -> {0, 1.5},PlotPoints -> 100,Mesh -> False,AxesLabel -> {"x", "t", "z=f(x,t)"},DisplayFunction -> Identity];
Show[{p2}, 
        DisplayFunction -> $DisplayFunction];