# How to Transparentize a Region plot?

If a region which is drawn by Region function is a 2D area, we can see the region. However, if a region is a 3D region, we sometimes cannot see the region when the region is inside of something because there seems to be no option to make it transparent for Region function. I use Mathematica 11.1.1.0 on Windows7.

For example, If the region I want to draw is a 2D area, Region show us what we want:

region = Disk[{0, 0}, 1];
complement = BooleanRegion[Not, {region}];
Region[complement]


However, if the region is a 3D region, Region does not give us a relevant draw:

region2 = Ball[{0, 0, 0}, 1];
complement2 = BooleanRegion[Not, {region2}];
Region[complement2]


Then, do you know any good workaround for this frustrating matter? I know if I convert the region into a set of inequality equations, I can use RegionPlot function and the function has an opacity option but I want to know other solutions.

Any advise is appreciated.

## 1 Answer

You could cheat and convert into a (Boundary)MeshRegion, and then use MeshCellStyle.

I'll use a more interesting example:

region2 = Ball[{0, 0, 0}, 1];
complement2 = BooleanRegion[Not, {region2}];
reg = Region[complement2];

BoundaryDiscretizeRegion[reg, MeshCellStyle -> {{2, All} -> Opacity[1/2]}]


• Oh, I also misunderstood about Sphere, it doesn't contain the balk region. Commented Mar 20, 2018 at 6:04
• This does not appear to work anymore in Mathematica 12.1 Commented Dec 10, 2020 at 23:49
• BoundaryDiscretizeRegion[reg, MeshCellStyle -> {{All} -> Opacity[0.5]}] will make the box transparent (though the mesh is visible), but rather than a sphere, a tiny triangle appears inside of it... Commented Dec 10, 2020 at 23:55
• It's slightly easier to see the tiny tetrahedron(?) with Show[reg, PlotRange -> {All, 0}]. Commented Dec 10, 2020 at 23:59
• @alessandro, indeed, a lot seems to have changed in intervening versions... o well. Commented Dec 23, 2020 at 10:43