import graph3; import palette; size(200); currentprojection=orthographic(4,2,4); triple f(pair z) {return expi(z.x,z.y);} surface s=surface(f,(0,0),(pi,2pi),10,Spline); draw(s,mean(palette(s.map(zpart),BWRainbow())),black,nolight,render(merge=true));