Plot with contours, and then just the contours.  First a function with
a maximum, then a saddle

draw3d(xlabel="x", ylabel="y", zlabel="z",
       title="z=exp(-(sin(x)^2+y^2))",
       line_width=2,
       proportional_axes=xy,
       explicit(exp(-(sin(x)^2+y^2)), x,-3.5,3.5, y,-2.5,2.5),
       contour_levels=10,
       contour=both,
       surface_hide=true,
       terminal=wxt)$

draw3d(xlabel="x", ylabel="y", zlabel="z",
       title="z=exp(-(sin(x)^2+y^2))",       
       line_width=2,
       xu_grid=50,
       yv_grid=50,
       proportional_axes=xy,
       explicit(exp(-(sin(x)^2+y^2)), x,-3.5,3.5, y,-2.5,2.5),
       contour_levels=10,
       contour=map,
       surface_hide=true,
       terminal=wxt)$

draw3d(xlabel="x", ylabel="y", zlabel="z",
       title="z=x^2-y^2",
       line_width=2,
       proportional_axes=xy,
       explicit(x^2-y^2, x,-2.5,2.5, y,-2.5,2.5),
       contour_levels=10,
       contour=both,
       surface_hide=true,
       terminal=wxt)$

draw3d(xlabel="x", ylabel="y", zlabel="z",
       title="z=x^2-y^2",
       line_width=2,
       proportional_axes=xy,
       explicit(x^2-y^2, x,-2.5,2.5, y,-2.5,2.5),
       contour_levels=10,
       contour=map,
       surface_hide=true,
       terminal=wxt)$

paraboloid and cone

draw3d(xlabel="x", ylabel="y", zlabel="z",
       title="z=x^2+y^2",
       line_width=2,
       proportional_axes=xy,
       explicit(x^2+y^2, x,-2.5,2.5, y,-2.5,2.5),
       contour_levels=10,
       contour=both,
       surface_hide=true,
       terminal=wxt)$

draw3d(xlabel="x", ylabel="y", zlabel="z",
       title="z=x^2+y^2",
       line_width=2,
       proportional_axes=xy,
       explicit(x^2+y^2, x,-2.5,2.5, y,-2.5,2.5),
       contour_levels=10,
       contour=map,
       surface_hide=true,
       terminal=wxt)$

draw3d(xlabel="x", ylabel="y", zlabel="z",
       title="z=sqrt(x^2+y^2)",
       line_width=2,
       proportional_axes=xy,
       explicit(sqrt(x^2+y^2), x,-2.5,2.5, y,-2.5,2.5),
       contour_levels=10,
       contour=both,
       surface_hide=true,
       terminal=wxt)$

draw3d(xlabel="x", ylabel="y", zlabel="z",
       title="z=x^2-y^2",
       line_width=2,
       proportional_axes=xy,
       explicit(sqrt(x^2+y^2), x,-2.5,2.5, y,-2.5,2.5),
       contour_levels=10,
       contour=map,
       surface_hide=true,
       terminal=wxt)$

a linear

draw3d(xlabel="x", ylabel="y", zlabel="z",
       title="z=x+y",
       line_width=2,
       proportional_axes=xy,
       explicit(x+y, x,-2.5,2.5, y,-2.5,2.5),
       contour_levels=10,
       contour=both,
       surface_hide=true,
       terminal=wxt)$

draw3d(xlabel="x", ylabel="y", zlabel="z",
       title="z=x+y",
       line_width=2,
       proportional_axes=xy,
       explicit(x+y, x,-2.5,2.5, y,-2.5,2.5),
       contour_levels=10,
       contour=map,
       surface_hide=true,
       terminal=wxt)$

a long valey

draw3d(xlabel="x", ylabel="y", zlabel="z",
       title="z=(x+y)^2-1",
       line_width=2,
       proportional_axes=xy,
       explicit((x+y)^2-1, x,-2.5,2.5, y,-2.5,2.5),
       contour_levels=10,
       contour=both,
       surface_hide=true,
       terminal=wxt)$

draw3d(xlabel="x", ylabel="y", zlabel="z",
       title="z=(x+y)^2-1",
       line_width=2,
       proportional_axes=xy,
       explicit((x+y)^2-1, x,-2.5,2.5, y,-2.5,2.5),
       contour_levels=10,
       contour=map,
       surface_hide=true,
       terminal=wxt)$