In the code below, I define a cylinder (as a surface of
revolution) and a plane (as a cyclic path). From both, I can get
a surface that renders in 3D. Now, I would like to hide (or
better remove) the part of the cylinder, which is below the
surface (in this example at z < 0, rendered in a darker shade of
red), while the plane should remain semi-transparent. How can
this be done elegantly? import three; import solids;
currentprojection = obliqueY(); path3 xyplane = path3(scale(10)
* box((-1,-1),(1,1))); revolution c = rotate(-45,Y) *
shift((0,0,-5)) *cylinder(O,1,15);
draw(surface(xyplane),black+opacity(.5));
draw(xyplane,black+linewidth(.1)); draw(surface(c),red);
draw(c,red);