Freezing a family of functions

This Mathematica CDF notebook shows the development of the CDF files displayed in the post MouseOver. It is licensed under a MouseOver .  I hope anyone interested will feel free to improve this work and to use it in their own publications and coursework. 

MouseOver

A family of functions shown interactively

Manipulate[Plot[a Sin[x],{x,-2Pi,2Pi},PlotRange->{{-4,4},{-4,4}},AspectRatio->1],{{a,1},-4,4,Appearance-> "Labeled"}]

Cross Sections

Plot3D[
z Sin[x],
{x,-4,4},
{z,-4,4},
PlotRange->{{-4,4},{-4,4}},
BoxRatios->{1,1,1},
AxesLabel->{x,z,y},
PlotStyle->Opacity[.5],
ViewPoint->{2,-4,2},
MeshStyle->{Transparent, {Thick,Blue}}]

Plot3D[
z Sin[x],
{x,-4,4},
{z,-4,4},
PlotRange->{{-4,4},{-4,4}},
BoxRatios->{1,1,1},
AxesLabel->{x,z,y},
PlotStyle->Opacity[.5],
ViewPoint->{2,-4,2},
MeshStyle->{{Thick,Blue},Transparent}]

Graph of a function whose output is a (graph of a) function

Manipulate[
ParametricPlot3D[
{x,a,a Sin[x]},
{x,-4,4},
PlotRange->{{-4,4},{-4,4},{-4,4}},
BoxRatios->{1,1,1},
PlotStyle->{Thick,Blue},
AxesLabel->{x,z,y},
ViewPoint->{2,-4,2}
],
{{a,2},-4,4,Appearance-> "Labeled"}
]

Graph of the family with output shown as formula

Manipulate[a Sin[x]// TraditionalForm,
{{a,2},-4,4,Appearance-> "Labeled"}
]

Manipulate

Manipulate[
Show[
Plot3D[
z Sin[x],
{x,-4,4},
{z,-4,4},
PlotRange->{{-4,4},{-4,4},{-4,4}},
BoxRatios->{1,1,1},
AxesLabel->{x,z,y},
PlotStyle->Opacity[.4],
ViewPoint->{2,-4,2},
MeshStyle->LightGray
],
ParametricPlot3D[
{x,a,a Sin[x]},
{x,-4,4},
PlotRange->{{-4,4},{-4,4},{-4,4}},
BoxRatios->{1,1,1},
PlotStyle->{Thick,Blue},
AxesLabel->{x,z,y},
ViewPoint->{2,-4,2}
]
],
{{a,3},-4,4,Appearance-> "Labeled"}
]

Manipulate[
Plot3D[
z Sin[x],
{x,-4,4},
{z,-4,4},
PlotRange->{{-4,4},{-4,4}},
BoxRatios->{1,1,1},
AxesLabel->{x,z,y},
PlotStyle->Opacity[.5],
ViewPoint->{2,-4,2},
MeshStyle->{LightGray, If[
ShowCurves,{Thick,Blue},LightGray
]}],
{{ShowCurves,False},{True,False}}
]