The is 3D modelling tools in R, e.g. by library{latticeExtra}. So, theoretically you can plot 3D surfaces using either R or your preferred GIS (ArcGIS, QGIS etc). There is also a (commercial) software Surfer, specially designed for 2D/3D plotting and modelling.