\documentclass[border=10pt]{standalone} \usepackage{asymptote} \begin{document} \begin{asy}[width=\the\linewidth,inline=true] settings.outformat="pdf"; settings.render=0; settings.prc=false; import three; import solids; unitsize(1cm); currentprojection = orthographic(5,4,2); path3 x = (-1,0,0)--(4.5,0,0); draw(x,EndArrow3); label("$x$",(4.7,0,0)); path3 y = (0,-1,0)--(0,4.5,0); draw(y,EndArrow3); label("$y$",(0,4.7,0)); path3 z = (0,0,-1)--(0,0,4.5); draw(z,EndArrow3); label("$z$",(0,0,4.7)); label("$O$",(0,-0.3,-0.5)); path3 a = arc(O,3,0,0,90,0); draw(a); revolution s = revolution(O,a,Z,0,90); draw(surface(s),opacity(0.5)+cyan,light(0)); path3[] b = box(O,(2.2,2.2,3)); draw(b,dashed); \end{asy} \end{document}
Source: TeX.SE