These bathymetry contours, overlaid on a shaded image of a lake bottom, were generated from a set of spot depths.

Starting with a fictitious set of spot depths, and "zeros" along the lake shore, I used GRASS's module to interpolate a digital elevation model (DEM) surface from the spot depths. (I first placed a raster mask around the lake to prevent the generation of spurious elevations outside the lake.) Then r.contour generated vector contours from that DEM. I exported the DEM as an XYZ ascii file using, and the contours as ESRI shapefiles using v.out.shape.

I preprocessed the XYZ DEM into a standard DEM format using using dlgv32pro, a.k.a. Global Mapper. I then viewed it in 3DEM to produce the shaded relief background image, placing the source of illumination in the south to create an illusion of depth rather than height.

I then overlaid the contours on the background image using dlgv32pro.

For a lake outline I used Lake Kathlyn, British Columbia.