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);