I want to do the following: Say I have 4 RegionPlot3D plots, namely A1 A2 B1 and B2. Each of those four plots are region plots so they occupies some kind of region inside the same 3d space. First I want to find and display union of A1 and A2, call it A. Then find and display union of B1 and B2, call it B. Lastly, I want to find and display intersection of A and B. Somethings that I have tried: 1. I can use Show[A1,A2] to graphically find the union of A1 and A2, but after I got A and B. I can't use the Show function to find intersection. 2. I can directly use RegionPlot3D to find intersections of two plots by naming the regions region1 and region2. I can use do RegionPlot3D[region1 && region2....] to do it. But I can't find unions using this method. 3. If my goal is first do intersection, then do union, I can use above two method to do it. But my goal is first do union. So if I use, it doesn't really tell me what region does the union results in, it just displays it.