A good METAPOST alternative for plotting 3D surfaces is PSTricks.
The following code used pst-solides3d package which is one of many PSTricks packages.
% Compile this with either xelatex or latex->dvips->ps2pdf
\documentclass{article}
\usepackage{pst-solides3d}
\psset{unit=2}
\usepackage[active,tightpage]{preview}
\PreviewBorder=12pt
\PreviewEnvironment{pspicture}
\begin{document}
\begin{pspicture}[showgrid=false](-3,-2)(3,3)
\psset[pst-solides3d]{viewpoint=20 20 20 rtp2xyz,Decran=20,lightsrc=viewpoint}
\psSolid[object=grille,base=-2 2 -2 2,action=draw,linecolor=red](0,0,0)
\axesIIID(2,2,1.5)(3,2.5,2.5)
\defFunction[algebraic]{sphere}(u,v){2*cos(u)*cos(v)} {2*sin(u)*cos(v)} {2*sin(v)}
\psSolid[object=surfaceparametree,base=pi neg pi 0 0.8,hue=0.2 0.8,function=sphere,linewidth=0.2pt,opacity=0.8,ngrid=0.1]
\end{pspicture}
\end{document}
Compiling the code with either xelatex
or latex->dvips->ps2pdf
, we will get the following output.

Miscellaneous
More exciting code with animation:
% Compile this with either xelatex or latex->dvips->ps2pdf
\documentclass{article}
\usepackage{pst-solides3d}
\psset{unit=2}
\usepackage[active,tightpage]{preview}
\PreviewBorder=12pt
\PreviewEnvironment{pspicture}
\usepackage{multido}
\begin{document}
\multido{\r=0.0+0.4,\i=0+1}{6}{
\begin{pspicture}[showgrid=false](-3,-2)(3,3)
\psset[pst-solides3d]{viewpoint=20 20 20 rtp2xyz,Decran=20,lightsrc=viewpoint}
\psSolid[object=grille,base=-2 2 -2 2,action=draw,linecolor=red](0,0,0)
\axesIIID(2,2,1.5)(3,2.5,2.5)
\ifnum\i=0\relax\else
\defFunction[algebraic]{sphere}(u,v){2*cos(u)*cos(v)} {2*sin(u)*cos(v)} {2*sin(v)}
\psSolid[object=surfaceparametree,base=pi neg pi 0 \r,hue=0.2 0.8,function=sphere,linewidth=0.2pt,opacity=0.8,ngrid=0.1]
\fi
\end{pspicture}}
\end{document}
And the output is:

(I hope 101.54 KB does not matter)