/*From TeXgraph exemples*/
import graph3;
size(10cm,0);
currentprojection=orthographic(2,-2,2.5);
real f(pair z) {
real u=z.x, v=z.y;
return (u/2+v)/(2+cos(u/2)*sin(v));
}
int n=30;
for (int i=0; i < n; ++i) {
bool level(pair z)
{
real c=f(z);
return c > interp(0.0,17.3,i/n) && c <= interp(0.0,17.3,(i+1)/n);
}
add(surface(f,O,(14,14),200,level,interp(yellow,red,i/(n-1))));
}
shipout(bbox(3mm,Fill(black)));