(commands used to generate the figure above)

> p0:=plot3d(x^2+y^2+2,x=-3..3,y=-sqrt(4-x^2)..sqrt(4-x^2),style=patchnogrid):
grid0:=plot3d(0,x=-3..3,y=-3..3,style=hidden,grid=[3,3],color=grey):
surf1:=pointplot3d([0,0,2],style=point,symbol=circle,color=black,thickness=2):
plane1:=plot3d(2,x=-1.1..1.1,y=-1.1..1.1,color=red,grid=[5,5]):
curve1:=pointplot3d([0,0,0],style=point,symbol=circle,color=black,thickness=2):
text1:=textplot3d([-0.2,sqrt(0)*sin(Pi),0,'k=2'],font=[TIMES,ITALIC,14]):
p1:=display(surf1,plane1,curve1,text1):
surf2:=spacecurve([sqrt(1)*cos(t),sqrt(1)*sin(t),3],t=0..2*Pi,color=black,thickness=2):
plane2:=plot3d(3,x=-1.6..1.6,y=-1.6..1.6,color=red,grid=[5,5]):
curve2:=spacecurve([sqrt(1)*cos(t),sqrt(1)*sin(t),0],t=0..2*Pi,color=black,thickness=2):
text2:=textplot3d([sqrt(2)*cos(Pi),sqrt(1)*sin(Pi),0,'k=3'],font=[TIMES,ITALIC,14]):
p2:=display(surf2,plane2,curve2,text2):
surf3:=spacecurve([sqrt(2)*cos(t),sqrt(2)*sin(t),4],t=0..2*Pi,color=black,thickness=2):
plane3:=plot3d(4,x=-2.1..2.1,y=-2.1..2.1,color=red,grid=[5,5]):
curve3:=spacecurve([sqrt(2)*cos(t),sqrt(2)*sin(t),0],t=0..2*Pi,color=black,thickness=2):
text3:=textplot3d([sqrt(3)*cos(Pi),sqrt(2)*sin(Pi),0,'k=4'],font=[TIMES,ITALIC,14]):
p3:=display(surf3,plane3,curve3,text3):
surf4:=spacecurve([sqrt(3)*cos(t),sqrt(3)*sin(t),5],t=0..2*Pi,color=black,thickness=2):
plane4:=plot3d(5,x=-2.1..2.1,y=-2.1..2.1,color=red,grid=[5,5]):
curve4:=spacecurve([sqrt(3)*cos(t),sqrt(3)*sin(t),0],t=0..2*Pi,color=black,thickness=2):
text4:=textplot3d([sqrt(4)*cos(Pi),sqrt(3)*sin(Pi),0,'k=5'],font=[TIMES,ITALIC,14]):
p4:=display(surf4,plane4,curve4,text4):
surf5:=spacecurve([sqrt(4)*cos(t),sqrt(4)*sin(t),6],t=0..2*Pi,color=black,thickness=2):
plane5:=plot3d(6,x=-2.1..2.1,y=-2.1..2.1,color=red,grid=[5,5]):
curve5:=spacecurve([sqrt(4)*cos(t),sqrt(4)*sin(t),0],t=0..2*Pi,color=black,thickness=2):
text5:=textplot3d([sqrt(5)*cos(Pi),sqrt(4)*sin(Pi),0,'k=6'],font=[TIMES,ITALIC,14]):
p5:=display(surf5,plane5,curve5,text5):
p10:=display([p1,p2,p3,p4,p5],insequence=true):
display([grid0,p0,p10],axes=framed);